【问题标题】:Need a little help to generate p12 cert需要一点帮助来生成 p12 证书
【发布时间】:2021-10-20 06:47:43
【问题描述】:

我需要一些帮助才能使用 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 certificate keytool pkcs#12 p12


    【解决方案1】:

    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
    

    注意输出中的友好名称。

    【讨论】:

      猜你喜欢
      • 2013-04-21
      • 2016-05-24
      • 2011-12-10
      • 1970-01-01
      • 2017-05-07
      • 1970-01-01
      • 2015-03-16
      • 1970-01-01
      • 2016-12-07
      相关资源
      最近更新 更多