需要一点帮助来生成 p12 证书
Need a little help to generate p12 cert
我需要一些帮助来使用 OpenSSL(或其他工具)生成 PKCS#12 文件。
通常,我使用 JDK 中的 keytool 和此语法:
keytool -genkey -alias friendly_alias -keyalg RSA -keysize 2048 -storepass mypassword -storetype pkcs12 -keystore c:\my_cert.p12
但我在 OpenSLL 中找不到类似的语法。
如有任何帮助,我将不胜感激
Openssl 有 pkcs12
命令用于添加 PKCS#12 格式的证书。
您可以尝试类似这样的方法来模拟整个流程(尽管您可能已经在 pkcs12 包中导入了证书)
生成证书(仅针对本例)
How to generate a self-signed SSL Certificate using OpenSSL
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
这应该创建 2 个文件,key.pem 包含私钥,cert.pem 包含 x509v2 证书(请注意,此命令生成的 x509v2 证书有点旧,不应使用。因为这个答案的动机不是为了展示如何生成有效证书,我正在使用这个虚拟示例)
将上述密钥和证书添加到您的 pkcs12 包中
openssl pkcs12 -in cert.pem -inkey key.pem -out foo.p12 -export -name friendly_name
这两个步骤都会要求提供私钥密码和 pkcs12 容器密码,请跟踪这些密码。
验证证书是否已存储
openssl pkcs12 -in foo.p12 -nokeys -info
这应该打印出类似
的内容
MAC Iteration 2048
MAC verified OK
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048
Certificate bag
Bag Attributes
localKeyID: 7E D3 2E ED 1A 3A 67 1E 90 4A AD 15 8D D9 C6 7A 11 EE E6 0A
friendlyName: friendly_name
subject=/C=IN/ST=KA/CN=foo.example.com
issuer=/C=IN/ST=KA/CN=foo.example.com
-----BEGIN CERTIFICATE-----
MIIE5DCCAswCCQC/nYhnwGT1HzANBgkqhkiG9w0BAQsFADA0MQswCQYDVQQGEwJJ
---SNIPPED---
MkvKFwTL+ZQ=
-----END CERTIFICATE-----
PKCS7 Data
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048
注意输出中的友好名称。
我需要一些帮助来使用 OpenSSL(或其他工具)生成 PKCS#12 文件。 通常,我使用 JDK 中的 keytool 和此语法:
keytool -genkey -alias friendly_alias -keyalg RSA -keysize 2048 -storepass mypassword -storetype pkcs12 -keystore c:\my_cert.p12
但我在 OpenSLL 中找不到类似的语法。
如有任何帮助,我将不胜感激
Openssl 有 pkcs12
命令用于添加 PKCS#12 格式的证书。
您可以尝试类似这样的方法来模拟整个流程(尽管您可能已经在 pkcs12 包中导入了证书)
生成证书(仅针对本例)
How to generate a self-signed SSL Certificate using OpenSSL
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
这应该创建 2 个文件,key.pem 包含私钥,cert.pem 包含 x509v2 证书(请注意,此命令生成的 x509v2 证书有点旧,不应使用。因为这个答案的动机不是为了展示如何生成有效证书,我正在使用这个虚拟示例)
将上述密钥和证书添加到您的 pkcs12 包中
openssl pkcs12 -in cert.pem -inkey key.pem -out foo.p12 -export -name friendly_name
这两个步骤都会要求提供私钥密码和 pkcs12 容器密码,请跟踪这些密码。
验证证书是否已存储
openssl pkcs12 -in foo.p12 -nokeys -info
这应该打印出类似
的内容MAC Iteration 2048
MAC verified OK
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048
Certificate bag
Bag Attributes
localKeyID: 7E D3 2E ED 1A 3A 67 1E 90 4A AD 15 8D D9 C6 7A 11 EE E6 0A
friendlyName: friendly_name
subject=/C=IN/ST=KA/CN=foo.example.com
issuer=/C=IN/ST=KA/CN=foo.example.com
-----BEGIN CERTIFICATE-----
MIIE5DCCAswCCQC/nYhnwGT1HzANBgkqhkiG9w0BAQsFADA0MQswCQYDVQQGEwJJ
---SNIPPED---
MkvKFwTL+ZQ=
-----END CERTIFICATE-----
PKCS7 Data
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048
注意输出中的友好名称。