Używam biblioteki Bouncycastle do generowania certyfikatów z żądań PKCS10 przy użyciu klasy X509v3CertificateBuilder.Zamówienie X500Pincipal Distinguished Nazwa
Funkcja zwraca obiekt X509CertificateHolder zawierający wygenerowany certyfikat. Jeśli wywołasz getIssuer na posiadaczu, zwraca nazwę wyróżniającą wystawcy w poprawnej kolejności (ta sama wartość zwracana, jeśli wywoływam metodę getSubjectX500Principal() na certyfikacie wystawcy), jeśli przeanalizuję zakodowaną wersję od właściciela za pomocą certyfikatu java CertificateFactory, Metoda getIssuerX500Principal() wygenerowanego certyfikatu zwraca DN w odwrotnej kolejności, co jest nie tak?
Oto przykładowy kod, 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