加载 CRLnumber 时出现 OpenSSL 错误

Mou*_*ath 5 openssl certificate-authority crl

我无法生成 CRL。我可能在配置文件中遗漏了一些东西。我得到的错误是“加载 crl 编号时出现 openssl 错误”。CRL 配置部分:

 [ CA_default ]
# Directory and file locations.
dir               = box/ca
certs             = $dir/certs
crl_dir           = $dir/crl
new_certs_dir     = $dir/newcerts
database          = $dir/index.txt
serial            = $dir/serial
RANDFILE          = $dir/private/.rand
# For certificate revocation lists.
crlnumber         = $dir/crlnumber
crl               = $dir/crl/RcCA.crl
crl_extensions    = crl_ext
default_crl_days  = 30
Run Code Online (Sandbox Code Playgroud)

我使用的命令:

openssl ca -config full-path-to-openssl.cnf  -gencrl -out full-path-to-RcCA.crl
Run Code Online (Sandbox Code Playgroud)

其中 rcCA 是 crl 文件。文件结构:
根CA

  • 证书
  • 克林
  • 企业社会责任
  • 中间的
  • 新证书
  • 效果图
  • 私人的

  • 连续剧

  • openssl.cnf
  • 索引.txt
  • 编号

底部三个是文件,上面是文件夹。
我找到的答案指向缺少索引文件。但它存在于我的机器上。我不知道我是否把它放在正确的位置。

编辑:

@StacksOfZtuff 有帮助。但是现在我遇到了不同的错误。我不知道这是否被认为已解决,或者我只是掩盖了以前的错误。

22048:error:2207707B:X509 V3 routines:V2I_AUTHORITY_KEYID:unable to get issuer keyid:.\crypto\x509v3\v3_akey.c:165:

22048:error:22098080:X509 V3 routines:X509V3_EXT_nconf:error in extension:.\crypto\x509v3\v3_conf.c:95:name=authorityKeyIdentifier, value=keyid:always

编辑第二条评论:

我想强调的是,我的 CA 工作正常,除了 CRL 问题。我能够生成密钥、csr、cer 和 pkcs12。我似乎能够向 CRL 添加条目,但是当我尝试调用该gencrl命令时,出现错误。我什至不确定这是否重要

也可以看看

后续帖子:Openssl 生成 CRL 产生错误:无法获取颁发者 keyiid

Sta*_*uff 7

首先初始化 crlnumber 文件

尝试这个:

echo 1000 > crlnumber
Run Code Online (Sandbox Code Playgroud)

  • @F30+ 它不需要前导零,但它**必须是_偶_个_十六进制_数字**;每个十六进制对都是生成的 ASN1 INTEGER 中的一个字节。证书的“serial”文件也是如此,对于这种情况,手册页给出了“01”的示例(即数字值 1 的偶数位数),但没有确切解释原因。 (2认同)