【问题标题】:Subject Alternative Name is not copied to signed certificate主题备用名称未复制到签名证书
【发布时间】:2015-11-29 23:01:00
【问题描述】:

我使用自签名 CA 证书来签署其他证书。对于某些证书,我需要指定主题替代名称。我可以在请求生成期间指定它们 (openssl req ...),我可以在 .csr 文件中看到它们。然后我使用

使用 CA 证书对其进行签名
openssl x509 -req -extensions x509v3_config -days 365 -in ${name}.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out ${name}.crt

openssl.cnf 文件中的下一部分:

[ x509 ]
x509_extensions = x509v3_config

[ x509v3_config ]
copy_extensions = copy

但我在 .crt 文件中看不到 SAN。

我知道solutionsopenssl ca ... 命令,但我没有有效的[ca] 部分,我不想在没有深入了解它的作用的情况下复制/粘贴它。所以我希望存在另一个使用openssl x509 ... 命令的解决方案。

【问题讨论】:

    标签: ssl openssl self-signed ca


    【解决方案1】:

    copy_extensions 指令只能被openssl ca 命令理解。无法使用 openssl x509 命令将扩展从 CSR 复制到证书。

    相反,您应该在openssl x509 命令中指定您想要的确切 扩展,使用与openssl req 相同的指令。

    【讨论】:

      【解决方案2】:

      抱歉,我还不能评论。

      除了@frasertweedale:

      我使用配置文件生成了我的服务器证书

      openssl req -new -out certificate.csr -key certificate_private_key.pem -sha256 -days 1825 -config certificate.conf 
      

      然后我做了

      相反,您应该在 OpenSSL x509 命令中指定所需的确切扩展名,使用与 OpenSSL req 相同的指令。

      使用以下命令(我再次使用相同的 .conf 文件):

      openssl x509 -req -in certificate.csr -CA ca-root-public-certificate.pem -CAkey ca-key.pem -CAcreateserial -out certificate_public.pem -sha256 -days 1825 -extfile certificate.conf -extensions v3_req
      

      【讨论】:

      • 这很有帮助
      【解决方案3】:

      这里有一个很好的文档:Certificates

      在创建 x509 证书请求时,您需要编写一个 openssl conf 文件,如下所示:

      创建企业社会责任

      openssl req -new -key server.key -out server.csr -config csr.conf
      

      签署证书

      openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 10000 -extensions v3_ext -extfile csr.conf
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-08-13
        • 1970-01-01
        • 2023-01-18
        • 1970-01-01
        相关资源
        最近更新 更多