加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

golang x509.MarshalPKIXPublicKey vs x509.MarshalPKCS1PublicK

发布时间:2020-12-16 09:26:31 所属栏目:大数据 来源:网络整理
导读:谁能帮助我理解MarshalPKIXPublicKey()和MarshalPKCS1PublicKey()之间的区别? 根据评论: // MarshalPKIXPublicKey将公钥序列化为DER编码的PKIX格式. // MarshalPKCS1PublicKey将RSA公钥转换为PKCS#1,ASN.1 DER表单. 什么是DER编码的PKIX格式? 谢谢 解决方
谁能帮助我理解MarshalPKIXPublicKey()和MarshalPKCS1PublicKey()之间的区别?

根据评论:
// MarshalPKIXPublicKey将公钥序列化为DER编码的PKIX格式.

// MarshalPKCS1PublicKey将RSA公钥转换为PKCS#1,ASN.1 DER表单.

什么是DER编码的PKIX格式?

谢谢

解决方法

你没有说明你没有(或确实)理解了多少.从基础开始:

ASN.1(抽象语法表示法一)是用于定义要在系统或程序之间传递或互换的数据结构的一般方案.

DER(可分辨编码规则)是定义为将ASN.1数据编码为可以传送和/或存储的字节序列的方案,并且将这些字节序列无损地解码回ASN.1数据.

PKCS1 aka RFC 2313,2437,3447,8017(公钥加密标准#1)是定义使用RSA算法的一系列事项的标准,其中Appendix A定义了名为RSAPublicKey的ASN.1结构来表示RSA公钥.,与任何ASN.1结构一样,可以进行DER编码.

MarshalPKCS1PublicKey converts an RSA public key to PKCS#1,ASN.1 DER form.

清楚地表示PKCS1中RSA公钥的ASN.1结构的DER编码.

PKIX(公钥基础设施X.509)是X.509标准的互联网变体(正式地,简介),最初由当时的CCITT-ITU-T定义,目前在rfc5280.X.509和PKIX,主要定义公钥证书的格式,它将公钥与身份以及其他元数据绑定在一起.要做到这一点,它必须包含一个可以处理多个公钥算法的公钥的表示,使用SubjectPublicKeyInfo structure完成,相当简单,由an AlgorithmIdentifier that identifies the algorithm,plus a BIT STRING that contains the actual public-key value in an algorithm-dependent manner组成.RSA的算法相关部分在rfc3279 sec 2.3.1中指定,如你所见,它是来自PKCS1的RSAPublicKey结构,DER编码.

因此,RSA公钥的“DER编码的PKIX格式”表示PKIX / X.509 SubjectPublicKeyInfo结构的DER编码,其包含RSA的algorithmIdentifier(OID 1.2.840.113549.1.1.1和参数NULL)和包含该RSI的BIT STRING. DER编码PKCS1 RSAPublicKey.

相关或类似(尽管大多数包括私人非公开和/或PEM而不是DER):
How to store/retrieve RSA public/private key
How do we convert a String from PEM to DER format
Problem transmiting a RSA public key,javaME,bouncy castle
Generating RSA keys in PKCS#1 format in Java
How to generate PKCS#1 RSA keys in PEM Format?
Converting RSA keys into SubjectPublicKeyInfo Form from BigIntegers
Convert a X509 Public key to RSA public key
Load public key to create rsa object for public encryption
和交叉堆栈:
https://crypto.stackexchange.com/questions/19149/what-is-the-technical-name-for-a-public-key-container-in-der-format
https://crypto.stackexchange.com/questions/54121/rsa-key-differences-openssl-cli-vs-openssl-ssl-h-c-function

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读