Strongswan PKI - ED25519 证书 - OCSP 响应器存在问题

Strongswan PKI - ED25519 证书 - OCSP 响应器存在问题

我正在尝试为 strongswan PKI 生成的证书设置 ocsp - 将其用作 CA。如果我尝试使用 openssl,它只会抛出 Can't open index.txt.attr for reading, No such file or directory 尝试重新执行证书行。仍然不起作用。我只是碰壁了,需要一些新的眼光来看待它。

  1. 有没有办法让 strongswan 部署?

如果是 - 1a. 怎么办?找不到相关文档。如果否 - 1b. 我使用 OpenSSL 的方法正确吗?

  1. 我该如何修复此错误消息 - 使用 strongswan - 我似乎无法生成 index.txt

这也是我用来尝试运行它的命令 -openssl ocsp -index index.txt -CA ca.crt.pem -port 43450 -rkey ocsp.key.pem -rsigner ocsp.issuecrt.pem -resp_no_certs -nmin 60 -text

之前,我设置了 2018 年 4 月的 OpenSSL,以实现 ed25519 和 X25519 算法兼容性。在意识到之前,我无法让 crl 工作。然后开始为 pki 和 CA 组件部署 strongswan(通过 source、configure、make、make test、make install 手动安装完整的 strongswan - 安装依赖项,因为我发现需要。这有效,我的 crl 工作了,但现在我无法获得 ocsp,我已经花了 2-3 周的时间试图弄清楚这一点,我感觉我只是很笨,是一个 PEBKAC 用户。希望你们能帮忙。如果您需要任何进一步的信息请求,我会编辑并提供。

答案1

如果你使用 strongSwan 的pki 工具创建 CA 时,OpenSSL 不需要为其 OCSP 服务器提供任何 index.txt 文件。OpenSSL 在通过 颁发/撤销证书时会创建和修改这些索引“数据库”文件openssl ca。因此,如果您想使用未使用该工具创建的证书的 OCSP 服务器,则必须手动创建该文件。

值得庆幸的是,index.txt 文件是简单的文本文件,可以根据需要轻松创建。这些文件包含每个证书的以下信息,每行一个,每个字段用制表符分隔:

  1. 状态:为“V”(有效)、“R”(撤销)或“E”(已过期)
  2. 到期日期/时间(UTC)(格式为YYMMDDHHMMSSZ
  3. 撤销日期/时间(格式与上述相同,有效或过期证书为空)和可选原因(以逗号分隔,例如“superseded”或“keyCompromise”)
  4. 证书的十六进制序列号
  5. 证书的文件名(OpenSSL 似乎不使用它并将其设置为“未知”),也可以为空
  6. 证书的主题 DN(斜线分隔 RDN),可选

如果您有一个有效的证书,您可以使用以下 bash 脚本为 index.txt 文件生成一个条目(将 PEM 编码证书的路径作为脚本的第一个参数传递):

#!/bin/bash

crt=$1
exp=$(date -d "$(openssl x509 -enddate -noout -in $crt | cut -d= -f 2)" +"%y%m%d%H%M%SZ")
ser=$(openssl x509 -serial -noout -in $crt | cut -d= -f 2)
sub=$(openssl x509 -subject -noout -in $crt | cut -d= -f 2- | cut -d' ' -f 2-)
echo -e "V\t$exp\t\t$ser\tunknown\t$sub"

要撤销证书,您可以手动将 更改VR并在第三列中添加日期和(可选)原因,例如使用 生成$(date +"%y%m%d%H%M%SZ,keyCompromise")。理论上,您也可以使用openssl ca它(也可以使用它openssl ca updatedb来标记过期的证书),但这需要设置适当的配置文件。如果您一开始就不想用 OpenSSL 管理您的 CA,那么这可能有点过头了。

还请注意,与 CRL 相比,您必须列出文件中的所有证书,因为openssl ocsp如果找不到证书序列号的有效条目,则不会以状态“良好”回复。

相关内容