添加 CA 簽名的客戶端證書時出現 Firefox 錯誤消息
當我嘗試將證書添加到 Firefox 的“您的證書選項卡”時,我收到此消息。我之前由一個也是 CA 的伺服器生成並簽名它。
無法解碼文件。它不是 PKCS #12 格式、已損壞或您輸入的密碼不正確。
它要求我輸入密碼,然後提示此消息。怎麼了?我正在關注本教程。
更新#1
我使用的命令:
openssl genrsa -out rootCA.key 2048 openssl req -x509 -new -nodes -key rootCA.key -days 1024 -out rootCA.pem openssl genrsa -out device.key 2048 openssl req -new -key device.key -out device.csr openssl x509 -req -in device.csr -CA rootCA.pem \ -CAkey rootCA.key -CAcreateserial -out device.crt -days 500
添加的證書是 device.crt,在您的證書選項卡上有 Firefox 請求的 PKS12。我應該改變它的格式嗎?
1:確認證書文件的類型
聽起來您嘗試導入的文件實際上不是 .pk12 文件。我將執行此命令來確認您要導入的文件類型:
openssl pkcs12 -info -in keyStore.p12
您應該會看到以下內容:
Enter Import Password: MAC Iteration 2048 MAC verified OK PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048 Certificate bag Bag Attributes localKeyID: 74 FF 2A 04 58 90 06 B5 A0 5C EF DA C0 9B 6C AD 91 BD 1F 54 friendlyName: [friendly name] subject=/C=US/ST=NY/O=My Company/OU=dept/CN=blah.blah.com issuer=/O=My Company/OU=dept/emailAddress=blah@blah.com/L=My Town/ST=NY/C=US/CN=blah.blah.com -----BEGIN CERTIFICATE----- !!!REMOVED CERTIFICATE!!!! -----END CERTIFICATE----- Certificate bag Bag Attributes: <No Attributes> subject=/O=My Company/OU=dept/emailAddress=blah@blah.com/L=My Town/ST=NY/C=US/CN=blah.blah.com issuer=/O=My Company/OU=dept/emailAddress=blah@blah.com/L=My Town/ST=NY/C=US/CN=blah.blah.com -----BEGIN CERTIFICATE----- !!!REMOVED CERTIFICATE!!! -----END CERTIFICATE----- PKCS7 Data Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048 Bag Attributes localKeyID: 74 FF 2A 04 58 90 06 B5 A0 5C EF DA C0 9B 6C AD 91 BD 1F 54 friendlyName: [friendly name] Key Attributes: <No Attributes> Enter PEM pass phrase: Verifying - Enter PEM pass phrase: -----BEGIN ENCRYPTED PRIVATE KEY----- !!!REMOVED CERTIFICATE!!! -----END ENCRYPTED PRIVATE KEY-----
OP 執行上述命令並收到此錯誤:
your command didn't work 3077953260:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1320: 3077953260:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:382:Type=PKCS12
這個錯誤告訴 OP 他們擁有的 .crt 文件不是 pkcs12/pfx 文件。
在這一點上,OP 分享了另一個問題:“無法使用 CA 根密鑰簽署 CSR ”,他們曾詢問過與同一問題相關的問題。
在閱讀了其中一條評論後,OP 實際上是在嘗試將 .crt 文件載入到 Firefox 中的對話框中,該對話框需要 pkcs12/pfx 格式的證書。請參閱下文了解如何將 .crt 轉換為 pkcs12/pfx 證書。
2. Firefox“你的證書”對話框
我在 Firefox 支持論壇上發現了這個問題,標題為:將.crt 格式的證書安裝到“您的證書”中,內容如下:
我有一個 .crt 格式的證書,需要在“您的證書”選項卡中。
Firefox 僅允許 .p12 和 .pfx 格式的證書。
如何將此證書導入“您的證書”選項卡?
我試圖看看我是否可以將 .crt 轉換為 .p12 但沒有運氣。(我能夠轉換為 .p7b 和 .spc 格式的相同證書)
由於聽起來您有一個 .crt 文件,您可以使用 openssl 將其轉換為 pkcs12/pfx 文件:
openssl pkcs12 -export -in certificate.cer -inkey privateKey.key \ -out certificate.pfx -certfile CACert.cer
**注意:**在該範例中,CACert.cer 將是 CA 的 .crt 文件。該命令將您的 .crt 文件和 CA 的 .crt 文件混合到一個 pkcs12/pfx 文件中。
OP 執行了這個命令:
sudo openssl pkcs12 -export -in certs/device.crt -inkey private/device.key -out safaa.pfx -certfile certs/myca.crt
參考