X500Principal Distinguished Name-Reihenfolge

Ich verwende die Bouncycastle-Bibliothek, um mithilfe der X509v3CertificateBuilder-Klasse Zertifikate aus PKCS10-Anforderungen zu generieren.

Es wird ein X509CertificateHolder-Objekt erstellt, das das generierte Zertifikat enthält. Wenn ich getIssuer für den Inhaber aufrufe, wird der definierte Name des Ausstellers in der richtigen Reihenfolge zurückgegeben (derselbe, der zurückgegeben wird, wenn ich getSubjectX500Principal () für das Ausstellerzertifikat aufrufe) () Methode des generierten Zertifikats gibt den DN in umgekehrter Reihenfolge zurück, was ist falsch?

Hier ist ein Beispielcode für das, was ich versuche:

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

Antworten auf die Frage(1)

Ihre Antwort auf die Frage