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