Проверка сертификата методом x509Crl.IsRevoked() в библиотеке BouncyCastle в C#?
Я пытаюсь проверить сертификат с его списком отзыва (crl-файл). В библиотеке BouncyCustle есть метод x509Crl.IsRevoked()
, что должно быть использовано для этого. Дело в том, что он получает x509Certificate
объект в качестве параметра, но я не могу понять, как создать это x509Certificate
объект. я использовал DotNetUtilities.FromX509Certificate()
для конвертации из System.Security.Cryptography.X509Certificates.x509Certificate2
Возражать Org.BouncyCastle.X509.X509Certificate
объект, но я столкнулся с проблемой - метод IsRevoked()
всегда возвращается true
- Для всех CRL я проверял.
Вопрос: как создать 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);
}
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());