We hope you will find the Google translation service helpful, but we don't promise that Google's translation will be accurate or complete. You should not rely on Google's translation. English is the official language of our site.
本操作方法将引导您逐步使用OpenSSL从PKCS#12文件中提取信息。 PKCS#12(也称为PKCS12或PFX)是一种二进制格式,用于将证书链和私钥存储在单个可加密文件中。 PKCS#12文件通常用于在Windows和macOS计算机上导入和导出证书和私钥,并且通常具有文件扩展名 .p12 or .pfx .
.p12
.pfx
如需更多有用的操作方法和最新的网络安全新闻,请在此处注册 SSL.com 的时事通讯:
在下面显示的所有示例中,用您实际使用的文件名代替 INFILE.p12 , OUTFILE.crt 及 OUTFILE.key .
INFILE.p12
OUTFILE.crt
OUTFILE.key
要将PKCS#12文件中的所有信息转储到 PEM格式 ,请使用以下命令:
openssl pkcs12 -info -in INFILE.p12 -nodes
然后,将提示您输入PKCS#12文件的密码:
输入导入密码:
输入创建PKCS#12文件时输入的密码,然后按 enter 。 OpenSSL会将文件中的所有证书和私钥输出到屏幕:
enter
袋属性localKeyID:AC 3E 77 9A 99 62 84 3D 77 CB 44 0D F9 78 57 7C 08 28 05 97 subject = / CN = Aaron Russell/emailAddress=*********@gmail.com issuer = / C = US / ST =得克萨斯/ L =休斯顿/ O = SSL公司/ CN = SSL.com客户端证书中间CA RSA R1 ----- BEGIN CERTIFICATE ----- MIIF1DCCA7ygAwIBAgIQcOrAJCMayJsZBKJsyz / aQDANBgkqhkiG9w0BAQsFADB + MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0b24x ETAPBgNVBAoMCFNTTCBDb3JwMTowOAYDVQQDDDFTU0wuY29tIENsaWVudCBDZXJ0 ... bwK6ABAZUq6QcvhD0LYsXya + ncDCR6wxb9E0DWd4ATQMzxGTu / yE3kT + 9Ef6IY + n armh3HZUfan2Hb64YD0tjLMca / PC + sKAZu28gB / 3HQRHIFugvh6RO3bIoorl0jUg 1Ml2R83 ++ PRIVATE-SUHL0 ---- 如果您想加密私钥并在输出之前使用密码对其进行保护,则只需省略 -nodes 来自命令的标志: openssl pkcs12 -info -in INFILE.p12 在这种情况下,OpenSSL输出任何证书后,系统将提示您输入并验证新密码,并且私钥将被加密(请注意,密钥的文本以 -----BEGIN ENCRYPTED PRIVATE KEY-----): 输入PEM密码短语:验证 - 输入PEM密码短语:----- BEGIN加密的私有密钥----- MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIGwhJIMXRiLQCAggA MBQGCCqGSIb3DQMHBAiXdeymTYuedgSCBMjwGg78PsqiNJLfpDFbMxL98u3tK9Cs ... SGVCCBj5vBpSbBXAGbOv74h4satKmAMgGc8SgU06geS9gFgt / wLwehMJ / H4BSmex 4S / 2tYzZrDBJkfH9JpggubYRTgwfAGY2BkX03dK2sqfu + QVTVTKMj2VI0sKcFfLZ BDW = ----- END ENCRYPTED私钥---- 仅提取证书或私钥 如果只想输出私钥,请添加 -nocerts 到命令: openssl pkcs12 -info -in INFILE.p12 -nodes -nocerts 如果只需要证书,请使用 -nokeys (由于我们不关心私钥,因此我们也可以安全地省略 -nodes): openssl pkcs12 -info -in INFILE.p12 -nokeys 将证书和私钥保存到文件 您可以从PKCS#12文件中导出证书和私钥,并通过指定输出文件名将它们以PEM格式保存到新文件中: openssl pkcs12 -in INFILE.p12 -out OUTFILE.crt-节点 同样,系统将提示您输入PKCS#12文件的密码。 和以前一样,您可以通过删除 -nodes 从命令中标记和/或添加 -nocerts or -nokeys 仅输出私钥或证书。 因此,要生成私钥文件,我们可以使用以下命令: openssl pkcs12 -in INFILE.p12 -out OUTFILE.key -nodes -nocerts 要创建仅包含证书的文件,请使用以下命令: openssl pkcs12 -in INFILE.p12 -out OUTFILE.crt -nokeys 将私钥转换为PKCS#1格式 上面的示例均以OpenSSL的默认值输出私钥 PKCS#8 格式。 如果你知道你需要 PKCS#1 相反,您可以根据密钥类型将OpenSSL的PKCS#12实用程序的输出传递到其RSA或EC实用程序。 以下两个命令都将以PKCS#1格式输出密钥文件: openssl pkcs12 -in INFILE.p12-节点-nocerts | openssl rsa -out OUTFILE.key ECDSA openssl pkcs12 -in INFILE.p12-节点-nocerts | openssl ec -out OUTFILE.key 请注意: 您可以通过查看文本的第一行来区分PKCS#8和PKCS#1私钥文件之间的区别。 PKCS#1文件将指定算法: -----BEGIN RSA PRIVATE KEY----- PKCS#8文件未显示该算法,并且也可能被加密: -----BEGIN PRIVATE KEY----- -----BEGIN ENCRYPTED PRIVATE KEY----- 感谢您选择SSL.com! 如有任何疑问,请通过电子邮件与我们联系 [email protected],致电 1-877-SSL-SECURE,或只需单击此页面右下方的聊天链接。 本网站使用Cookie,以便我们可以为您提供最佳的用户体验。 Cookie信息存储在您的浏览器中,并执行诸如在您返回我们的网站时识别您的身份以及帮助我们的团队了解您发现网站中最有趣和有用的部分之类的功能。 欲了解更多信息,请阅读我们的 Cookie和隐私声明.
如果您想加密私钥并在输出之前使用密码对其进行保护,则只需省略 -nodes 来自命令的标志:
-nodes
openssl pkcs12 -info -in INFILE.p12
在这种情况下,OpenSSL输出任何证书后,系统将提示您输入并验证新密码,并且私钥将被加密(请注意,密钥的文本以 -----BEGIN ENCRYPTED PRIVATE KEY-----):
-----BEGIN ENCRYPTED PRIVATE KEY-----
输入PEM密码短语:验证 - 输入PEM密码短语:----- BEGIN加密的私有密钥----- MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIGwhJIMXRiLQCAggA MBQGCCqGSIb3DQMHBAiXdeymTYuedgSCBMjwGg78PsqiNJLfpDFbMxL98u3tK9Cs ... SGVCCBj5vBpSbBXAGbOv74h4satKmAMgGc8SgU06geS9gFgt / wLwehMJ / H4BSmex 4S / 2tYzZrDBJkfH9JpggubYRTgwfAGY2BkX03dK2sqfu + QVTVTKMj2VI0sKcFfLZ BDW = ----- END ENCRYPTED私钥----
如果只想输出私钥,请添加 -nocerts 到命令:
-nocerts
openssl pkcs12 -info -in INFILE.p12 -nodes -nocerts
如果只需要证书,请使用 -nokeys (由于我们不关心私钥,因此我们也可以安全地省略 -nodes):
-nokeys
openssl pkcs12 -info -in INFILE.p12 -nokeys
您可以从PKCS#12文件中导出证书和私钥,并通过指定输出文件名将它们以PEM格式保存到新文件中:
openssl pkcs12 -in INFILE.p12 -out OUTFILE.crt-节点
同样,系统将提示您输入PKCS#12文件的密码。 和以前一样,您可以通过删除 -nodes 从命令中标记和/或添加 -nocerts or -nokeys 仅输出私钥或证书。 因此,要生成私钥文件,我们可以使用以下命令:
openssl pkcs12 -in INFILE.p12 -out OUTFILE.key -nodes -nocerts
要创建仅包含证书的文件,请使用以下命令:
openssl pkcs12 -in INFILE.p12 -out OUTFILE.crt -nokeys
上面的示例均以OpenSSL的默认值输出私钥 PKCS#8 格式。 如果你知道你需要 PKCS#1 相反,您可以根据密钥类型将OpenSSL的PKCS#12实用程序的输出传递到其RSA或EC实用程序。 以下两个命令都将以PKCS#1格式输出密钥文件:
openssl pkcs12 -in INFILE.p12-节点-nocerts | openssl rsa -out OUTFILE.key
openssl pkcs12 -in INFILE.p12-节点-nocerts | openssl ec -out OUTFILE.key
请注意: 您可以通过查看文本的第一行来区分PKCS#8和PKCS#1私钥文件之间的区别。 PKCS#1文件将指定算法: -----BEGIN RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
PKCS#8文件未显示该算法,并且也可能被加密: -----BEGIN PRIVATE KEY----- -----BEGIN ENCRYPTED PRIVATE KEY-----
-----BEGIN PRIVATE KEY-----
本网站使用Cookie,以便我们可以为您提供最佳的用户体验。 Cookie信息存储在您的浏览器中,并执行诸如在您返回我们的网站时识别您的身份以及帮助我们的团队了解您发现网站中最有趣和有用的部分之类的功能。
欲了解更多信息,请阅读我们的 Cookie和隐私声明.