Openssl 什么是公钥头和公钥信息?
我试图找到什么是公钥头和公钥信息。我使用openssl和公钥模块转储了一个C格式的证书。它将公钥信息和公钥头列为公钥。但是,对于在我的服务器上生成的公钥,我无法使用Openssl 什么是公钥头和公钥信息?,openssl,cryptography,rsa,Openssl,Cryptography,Rsa,我试图找到什么是公钥头和公钥信息。我使用openssl和公钥模块转储了一个C格式的证书。它将公钥信息和公钥头列为公钥。但是,对于在我的服务器上生成的公钥,我无法使用openssl.exe rsa-pubin-inform DER-text-noout
openssl.exe rsa-pubin-inform DER-text-noout
转储这些字段
请解释一下这些字段在数字证书中的意义,它们对于所有公钥都是一样的吗?无法在openssl上获取此信息,只是提到DER编码将有额外的页眉和页脚。我从未听说过公钥页眉。。。你能举个例子吗 公钥信息可能是X.509证书中公钥的标准编码方式,通常以。这些SubjectPublicKeyInfos可以转换为公钥文件(我假设您正试图这样做?如果我错了,请纠正我!)该部分还告诉您可以从何处找到有关特定算法的信息,以供参考。SubjectPublicKeyInfo的定义如下:
SubjectPublicKeyInfo ::= SEQUENCE {
algorithm AlgorithmIdentifier,
subjectPublicKey BIT STRING }
RFC3279说:
RSAOID加密拟用于算法字段
属于AlgorithmIdentifier类型的值。参数字段必须为空
此算法标识符的ASN.1类型为NULL
进一步:
必须使用ASN.1类型的RSA公钥对RSA公钥进行编码:
因此,它是包含相关数据的subjectPublicKey字段-例如,您可以使用OpenSSL的x509
命令获得这些值:
openssl x509 -in certificate.cer -inform DER -noout -text
打印(对于PEM证书,请删除-通知DER):
还有一个巧妙的技巧,就是如何使用x509
直接生成PEM RSA公钥文件:
openssl x509 -inform DER -in certificate.cer -pubkey -noout > pubkey.pem
还有你的公钥是用PEM编码导出的
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (1024 bit)
Modulus:
00:cb:c2:...
Exponent: 65537 (0x10001)
openssl x509 -inform DER -in certificate.cer -pubkey -noout > pubkey.pem