X500Principal Distinguished Name заказ

Я использую библиотеку Bouncycastle для генерации сертификатов из запросов PKCS10 с использованием класса X509v3CertificateBuilder.

Он возвращает построение объекта X509CertificateHolder, который содержит сгенерированный сертификат. Если я вызываю getIssuer для держателя, он возвращает отличительное имя эмитента в правильном порядке (то же самое возвращается, если я вызываю getSubjectX500Principal () для сертификата эмитента), если я анализирую закодированную версию из держателя с помощью java CertificateFactory, getIssuerX500Principal () метод сгенерированного сертификата возвращает DN в обратном порядке, что не так?

Вот пример кода того, что я пытаюсь сделать:

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

Ответы на вопрос(1)

Ваш ответ на вопрос