Как я могу сделать это в bouncyCastle (получить установленные сертификаты)? - PullRequest
5 голосов
/ 01 июля 2011

Хорошо, я довольно новичок в крипто мире bouncyCastle, и, возможно, это ментальный блок, я не могу найти (/ google для) эквивалент:

X509Store store = 
new X509Store(StoreName.My, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);

Я думаю, что это может быть самой простой и глупой вещью, но как я могу получить доступ к установленным сертификатам Windows, используя надувной замок?

Или, если я не могу, как я могу конвертировать мои System.Security.Cryptography.X509Certificates.X509Certificate2 до Org.BouncyCastle.X509.X509Certificate?

Ответы [ 2 ]

10 голосов
/ 02 июля 2011

Bouncycastle не имеет доступа к хранилищу сертификатов Windows, что является ролью классов Microsoft .NET.Для преобразования между сертификатами .NET и их эквивалентами Bouncycastle посмотрите методы класса Org.BouncyCastle.Security.DotNetUtilities, в частности методы ToX509Certificate и FromX509Certificate.

1 голос
/ 04 мая 2015

Я конвертирую 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();

}
...