gpt4 book ai didi

security - 为什么多次调用 X509Certificate2.Export(Pkcs12) 返回不同的结果?

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

这是一个测试:

var decoded = Convert.FromBase64String(certificateBase64Encoded);
var certificate = new X509Certificate2(decoded, (string)null, X509KeyStorageFlags.Exportable);

var x = Convert.ToBase64String(certificate.Export(X509ContentType.Pkcs12));
var y = Convert.ToBase64String(certificate.Export(X509ContentType.Pkcs12));

Console.WriteLine(x == y);

当使用 X509ContentType.Cert 调用时,该值始终相同,因此控制台会打印“True”。但当使用 Pkcs12 选项时,该值总是有很大不同。为什么会这样,有没有办法让它们相同?

最佳答案

即使您提供了空密码,PKCS#12 文件(数据)也是加密的,因此每次都会(从随机数据)生成一个新的初始化向量 (IV),因此输出永远不会相同。因此,通过多次调用 Export,您将无法使它们相同。

OTOH 证书是由证书颁发机构 (CA) 签名的,并且在不破坏其签名的情况下无法更改。它们永远是相同的。

注意:我不记得了,但可能定义了其他随机结构(例如与包相关的),PKCS#12 规范有点大。

关于security - 为什么多次调用 X509Certificate2.Export(Pkcs12) 返回不同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7365945/

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