我想找到什麼是公鑰頭和公鑰信息。我已經使用openssl以C格式丟棄了一個證書,以及公鑰模數。它將公鑰信息和公鑰標題列爲公鑰。但我無法使用openssl.exe rsa -pubin -inform DER -text -noout < publickey.der
轉儲這些字段作爲我的服務器上生成的公鑰。什麼是公鑰頭和公鑰信息?
請問任何人請解釋這些字段在數字證書中的重要性,它們對於所有公鑰是否相同?無法在openssl上獲得這些信息,剛纔提到的DER編碼會有額外的頁眉和頁腳。
我想找到什麼是公鑰頭和公鑰信息。我已經使用openssl以C格式丟棄了一個證書,以及公鑰模數。它將公鑰信息和公鑰標題列爲公鑰。但我無法使用openssl.exe rsa -pubin -inform DER -text -noout < publickey.der
轉儲這些字段作爲我的服務器上生成的公鑰。什麼是公鑰頭和公鑰信息?
請問任何人請解釋這些字段在數字證書中的重要性,它們對於所有公鑰是否相同?無法在openssl上獲得這些信息,剛纔提到的DER編碼會有額外的頁眉和頁腳。
我從來沒有聽說過公鑰頭......你能舉個例子嗎?
公鑰信息可能是X.509證書中的公鑰通常以SubjectPublicKeyInfo attribute的形式編碼的標準方式。這些SubjectPublicKeyInfos可以變成一個公鑰文件(我假設你正在做什麼?如果我錯了,請糾正我)這部分還告訴你在哪裏可以找到關於特定算法的信息,對於RSA他們引用RFC 3279。甲SubjectPublicKeyInfo進行定義如下:
SubjectPublicKeyInfo ::= SEQUENCE {
algorithm AlgorithmIdentifier,
subjectPublicKey BIT STRING }
RFC 3279表示:
的與RSAEncryption OID意在算法字段類型爲AlgorithmIdentifier的值的 使用。參數字段MUST 對於該算法標識符具有ASN.1類型的NULL。
另外:
的RSA公共密鑰必須使用ASN.1類型RSAPublicKey編碼:
RSAPublicKey ::= SEQUENCE {
modulus INTEGER, -- n
publicExponent INTEGER } -- e
因此,它是包含相關數據的執行subjectPublicKey場 - 你可以通過OpenSSL的x509
命令獲得這些值:
openssl x509 -in certificate.cer -inform DER -noout -text
個
打印出來(對於PEM證書,刪除-inform DER):
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (1024 bit)
Modulus:
00:cb:c2:...
Exponent: 65537 (0x10001)
還有一個絕招,你怎麼能直接產生PEM RSA公共密鑰文件x509
:
openssl x509 -inform DER -in certificate.cer -pubkey -noout > pubkey.pem
並且您的公鑰以PEM編碼方式導出。