Как получить эмитента объекта X509Certificate от Bouncy Castle в C # - PullRequest
0 голосов
/ 14 октября 2018

У меня есть объект Org.BouncyCastle.X509.X509Certificate в библиотеках классов Bouncy Castle. Как я могу получить сертификат эмитента сертификата (или корневой сертификат эмитента) и экспортировать его?

cert.CertificateStructure.Issuer - это класс X509Name, но не класс X509Certificate.

Кроме того, в среде .Net я могу реализовать следующий код:

using System.Security.Cryptography.X509Certificates;

namespace Name {
    class Class1 {
    public static X509Certificate2 GetIssuer(X509Certificate2 leafCert) {
        if (leafCert.Subject == leafCert.Issuer) { return leafCert; }
        X509Chain chain = new X509Chain();
        chain.ChainPolicy.RevocationMode = X509RevocationMode.NoCheck;
        chain.Build(leafCert);
        X509Certificate2 issuer = null;
        if (chain.ChainElements.Count > 1) {
            issuer = chain.ChainElements[1].Certificate;
        }
        chain.Reset();
        return issuer;
    }
}
}
...