Ich verwende die Bouncycastle-Bibliothek, um Zertifikate aus PKCS10-Anforderungen mit der X509v3CertificateBuilder-Klasse zu generieren.X500Principal Distinguished Name Reihenfolge
Es wird ein X509CertificateHolder-Objekt erstellt, das das generierte Zertifikat enthält. Wenn ich getIssuer auf dem Inhaber anrufe, gibt es den DN des Herausgebers in der richtigen Reihenfolge zurück (dasselbe wird zurückgegeben, wenn ich getSubjectX500Principal() auf dem Ausstellerzertifikat aufrufen), wenn ich die codierte Version vom Halter mit dem Java CertificateFactory analysieren getIssuerX500Principal() -Methode des generierten Zertifikats gibt den DN in umgekehrter Reihenfolge zurück, was ist falsch? Hier
ist ein Beispiel-Code von dem, was ich zu tun habe versucht:
X509CertificateHolder holder = certBuilder.build(sigGen);
holder.getIssuer(); //Returns the DN in the correct order (same as in issuer cert)
CertificateFactory certFactory = CertificateFactory.getInstance("X.509");
X509Certificate cert = (X509Certificate) certFactory.generateCertificate(new ByteArrayInputStream(holder.getEncoded()));
cert.getIssuerX500Principal().getName(); //Returns issuer DN in reverse order