gpt4 book ai didi

security - 如何将 CRL 地址添加到自签名 CA 证书?

转载 作者:行者123 更新时间:2023-12-01 01:29:57 29 4
gpt4 key购买 nike

这是一个扩展问题:

how-do-i-create-a-self-signed-certificate-for-code-signing-on-windows

更进一步,如果我创建了 CA 证书,并创建了一组 SPC 证书,我该如何创建撤销列表并分发它们? (注意:我不知道 CRL 是如何工作的,它们是如何分布的等等)如果我要猜测它是如何工作的,我希望 CA 证书定义了一些可以下载 CRL 的 HTTP 地址,Windows 会联系它第一次查询证书链时的地址,以及每次当前 CRL 到期时...然后我所要做的就是创建一个分发证书序列号的签名网址...?

编辑:自我回答

对于其他感兴趣的人,Bouncy CaSTLe 是一个 Java+C# 库,提供了大量 PKI 加密 API,包括证书生成。

他们的示例代码(在他们的下载中)演示了如何生成一组链接的 CA、中间和“个人”证书。

它没有显示的是如何正确分配基于 HTTP 的 CRL - 您可以使用以下代码执行此操作:

GeneralName gn = new GeneralName(new DerIA5String("http://localhost/revocationlist.crl"), 6);


GeneralNames gns = new GeneralNames(gn);
DistributionPointName dpn = new DistributionPointName(gns);
DistributionPoint distp = new DistributionPoint(dpn, null, null);

DerSequence seq = new DerSequence(distp);

v3CertGen.AddExtension(X509Extensions.CrlDistributionPoints, false, seq);

最佳答案

从 crypto-147 开始,提供的代码已更改为

GeneralName gn = new GeneralName(GeneralName.uniformResourceIdentifier, new DERIA5String(crlUrl));
GeneralNames gns = new GeneralNames(gn);
DistributionPointName dpn = new DistributionPointName(gns);
DistributionPoint distp = new DistributionPoint(dpn, null, null);
DERSequence seq = new DERSequence(distp);
certGen.addExtension(Extension.cRLDistributionPoints, false, seq);

关于security - 如何将 CRL 地址添加到自签名 CA 证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5464749/

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