1

失効リスト (crl ファイル) を使用して証明書を確認しようとしています。BouncyCustle ライブラリには、x509Crl.IsRevoked()これに使用するメソッドがあります。パラメータとしてオブジェクトを取得するのがポイントなのですが、x509Certificateこのオブジェクトの作り方がわかりませんx509Certificate。オブジェクトからオブジェクトへDotNetUtilities.FromX509Certificate()の変換に使用しましたが、テストしたすべてのcrlについて、メソッドが常に返されるという問題に直面しました。System.Security.Cryptography.X509Certificates.x509Certificate2Org.BouncyCastle.X509.X509CertificateIsRevoked()true

質問:Org.BouncyCastle.X509.X509Certificateから変換せずにバイナリから直接オブジェクトを作成する方法はSystem.Security.Cryptography.X509Certificates.x509Certificate2?

そのcrlファイルで証明書をチェックするための私のコード:

static public void RevocationChecker(string certPath, string crlPath)
    {
        X509Certificate2 cert = new X509Certificate2();
        cert.Import(File.ReadAllBytes(certPath));
        Org.BouncyCastle.X509.X509Certificate bouncyCert = DotNetUtilities.FromX509Certificate(cert);

        X509CrlParser crlParser = new X509CrlParser();
        X509Crl crl = crlParser.ReadCrl(File.ReadAllBytes(crlPath));

        bool rezult = crl.IsRevoked(bouncyCert);
        Console.WriteLine(rezult);
    }
4

1 に答える 1

1

これを試してみてください:

System.Security.Cryptography.X509Certificates.X509Certificate cert = new System.Security
.Cryptography.X509Certificates.X509Certificate(File.ReadAllBytes(certPath));`    

Org.BouncyCastle.X509.X509Certificate bouncyCert = new Org.BouncyCastle.X509
.X509CertificateParser().ReadCertificate(cert.GetRawCertData());
于 2018-07-09T19:00:06.153 に答える