gpt4 book ai didi

openssl - 如何使用 openssl 创建包含 CRL 分发点的证书?

转载 作者:行者123 更新时间:2023-12-02 21:14:11 24 4
gpt4 key购买 nike

我在使用 openssl 创建包含用于测试的 crl 分发点的 x509 证书时遇到问题。

我检查了文档并找到了用于此目的的配置设置 crlDistributionPoints。不幸的是,openssl 始终生成 x509 版本 1 证书,而不使用 crl 分发点生成版本 3 证书。我确信我的命令或配置有问题,但仔细阅读文档并尝试配置并没有帮助。考虑配置文件中的其他设置,因此我确定 openssl 使用该文件本身。

我正在使用命令

openssl x509 -req -in $NAME.csr -out certs/$NAME.pem -days 3650 -CAcreateserial -CA cacert.pem -CAkey private/cakey.pem -CAserial serial

我正在使用以下配置文件:

[ ca ]
default_ca = CA_default

[ CA_default ]

dir = /home/ca
database = $dir/index.txt
new_certs_dir = $dir/newcerts

certificate = $dir/cacert.pem
serial = $dir/serial
private_key = $dir/private/cakey.pem
RANDFILE = $dir/private/.rand

default_days = 3650
default_crl_days = 30
default_md = md5

policy = policy_any
email_in_dn = no

name_opt = ca_default
cert_opt = ca_default
copy_extensions = none

x509_extensions = extensions_section

[ extensions_section ]

crlDistributionPoints=URI:http://example.com/crl.pem

[ policy_any ]
countryName = supplied
stateOrProvinceName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional

有什么想法吗?

最佳答案

openssl x509 不会读取您在配置文件中指定的扩展配置。

您可以(至少)通过以下两种方式将 crlDistributionPoints 获取到您的证书中:

  1. 使用 openssl ca 而不是 x509 来签署请求。如果您的配置不在默认位置,请根据需要传递 -config。如果省略以 -CA 开头的选项,则可以使用您提供的大多数命令

    openssl ca -in $NAME.csr -out certs/$NAME.pem -days 3650

  2. 使用您在问题中提供的命令,但首先创建一个包含 v3 扩展的文件(即 mycrl.cnf);将选项 -extfile mycrl.cnf 添加到对 openssl x509

    的调用中
    openssl x509 -req -in $NAME.csr -out certs/$NAME.pem -days 3650 \
    -CAcreateserial -CA cacert.pem -CAkey private/cakey.pem \
    -CAserial serial -extfile mycrl.cnf`

    其中 mycrl.cnf 包含以下内容:

    crlDistributionPoints=URI:http://example.com/crl.pem

openssl ca 可能是更适合您想要执行的命令,因为您会发现大多数示例都依赖于该命令,利用 openssl.cnf 中的各种设置进行 v3 扩展。

顺便说一句:它是 inadvisable在证书中使用 MD5 消息摘要。

以前 SHA1 是 MD5 的建议替代品,但现在它也已被弃用。您可以指定请求和签名操作中使用的消息摘要,并且可以使用 openssl list-message-digest-commands 列出支持的消息摘要。

例如,您可以在使用 -md sha256 选项对 openssl ca 签署请求时使用 SHA256(或设置 default_md=sha256) > 在您的 [CA_default] 配置部分)。

关于openssl - 如何使用 openssl 创建包含 CRL 分发点的证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11966123/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com