Kolejność X500Principal Distinguished Name

Używam biblioteki Bouncycastle do generowania certyfikatów z żądań PKCS10 przy użyciu klasy X509v3CertificateBuilder.

Zwraca kompilację obiektu X509CertificateHolder, który zawiera wygenerowany certyfikat. Jeśli wywołam getIssuer na posiadaczu, zwraca on nazwę wyróżniającą wystawcy w poprawnej kolejności (to samo zwracane, jeśli wywołam getSubjectX500Principal () na certyfikacie wystawcy), jeśli przeanalizuję zakodowaną wersję od właściciela za pomocą java CertificateFactory, getIssuerX500Principal () metoda wygenerowanego certyfikatu zwraca nazwę wyróżniającą w odwrotnej kolejności, co jest nie tak?

Oto przykładowy kod tego, co próbuję zrobić:

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

questionAnswers(1)

yourAnswerToTheQuestion