![](/img/trans.png)
[英]BouncyCastle TimeStampProtocol | How Do I get the original hash from a TimeStampToken?
[英]How can I do that in bouncyCastle (get installed certificates)?
好的,我对 bouncyCastle 的加密世界很陌生,也许是一个心理障碍,我似乎找不到(/google for)相当于:
X509Store store =
new X509Store(StoreName.My, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);
我认为这可能是最简单和最愚蠢的事情,但是如何使用充气城堡访问 windows 安装的证书?
或者如果我不能,我怎样才能将我的System.Security.Cryptography.X509Certificates.X509Certificate2
转换为Org.BouncyCastle.X509.X509Certificate
?
Bouncycastle 无权访问 Windows 证书存储,这是 Microsoft 的 .NET 类的作用。 要在 .NET 证书及其 Bouncycastle 等效证书之间进行转换,请查看Org.BouncyCastle.Security.DotNetUtilities
class 中的方法,特别是ToX509Certificate
和FromX509Certificate
方法。
我使用以下方法将System.Security.Cryptography.X509Certificates.X509Certificate2
转换为Org.BouncyCastle.X509.X509Certificate
public static org.bouncycastle.x509.X509Certificate
convertToBCX509Certificate(X509Certificate2 cert) {
X509CertificateParser parser =
new X509CertificateParser(cert.Export(X509ContentType.Cert));
return parser.ReadCertificate();
}
初始化证书:
Org.BouncyCastle.X509.X509Certificate certificate = new Certificate...
然后:
System.Security.Cryptography.X509Certificates.X509Store CertificateStore = new System.Security.Cryptography.X509Certificates.X509Store(StoreName.CertificateAuthority, StoreLocation.LocalMachine);
CertificateStore.Open(OpenFlags.ReadWrite);
CertificateStore.Add(new System.Security.Cryptography.X509Certificates.X509Certificate2(certificate));
CertificateStore.Close();
伪代码,作为一个例子,因为我远离我的工作机器 atm,但是,这应该可以很好地工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.