Ich habe ein X509Certificate, abgeleitet von CMSSignedData (PKCS7). Meine Frage ist, wie kann ich die URL der CRL-Datei überprüfen, ob das Zertifikat widerrufen wurde. Ich habe den Code unten versucht:Wie bekomme ich CRL von X509Certificate in Java
X509CertificateHolder signerCertificateHolder = (X509CertificateHolder) certIt.next();
X509Certificate certificate = new JcaX509CertificateConverter().setProvider("BC").getCertificate(signerCertificateHolder);
X509CRLEntry revokedCertificate;
X509CRL crl;
URL url = new URL("???");
URLConnection connection = url.openConnection();
try(DataInputStream inStream = new DataInputStream(connection.getInputStream()))
{
crl = (X509CRL) cf.generateCRL(inStream);
}
revokedCertificate = crl.getRevokedCertificate(certificate.getSerialNumber());
if(revokedCertificate != null)
{
System.out.println("Revoked");
}
else
{
System.out.println("Valid");
}
Und es wäre so gut funktionieren, außer ich nicht URL an das GRL bekommen. Ich weiß, dass es OI (Object Identifier) - 2.5.29.31 hat. Aber leider kann ich es vom Zertifikat nicht ableiten. Wie kann ich das machen?
Vielen Dank für die vorherige Abstimmung –