gpt4 book ai didi

c++ - 通过 C++ 从 PKCS7 (CMS) 获取详细信息

转载 作者:行者123 更新时间:2023-11-30 16:13:19 30 4
gpt4 key购买 nike

我有 target.cert 文件,想要获取证书结束日期和开始日期等详细信息

openssl pkcs7 -in target.cert -inform DER -print_certs -out cert_pem

openssl x509 -in cert.pem -enddate -startdate -noout

输出是开始和结束日期,并且想要执行相同的操作,但来自 C++ 代码。

FILE* fp;
if (!(fp = fopen("target.cert", "rb"))) {
fprintf(stderr, "Error reading input pkcs7 file\n" );
exit(1);
}
PKCS7 *p7;
p7 = d2i_PKCS7_fp(fp, NULL);

但是p7没有像“startDate”这样的字段,也没有解析字段的能力。

如何通过 C++ 获取“开始/结束日期”?

最佳答案

开始日期和结束日期适用于您之前已从 PKCS#7 结构中提取的 X.509 证书。因此,您必须执行与命令行相同的操作:

  1. 提取证书;
  2. 通过检索开始/到期日期来获取有效期。

PKCS#7 是一种容器格式,可能仅包含证书。然而,PKCS#7不是证书,就像 cookie jar 不是 cookie 一样,即使它只包含一个 cookie。因此,您的容器名称 target.cert 的选择非常糟糕,甚至连您都觉得措手不及。通常我们使用扩展名 .p7.pkcs7 来代替。

关于c++ - 通过 C++ 从 PKCS7 (CMS) 获取详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58065209/

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