5
X509v3CertificateBuilder 클래스를 사용하여 PKCS10 요청으로부터 인증서를 생성하기 위해 Bouncycastle lib를 사용하고 있습니다.X500Principal 고유 이름 순서
생성 된 인증서가 포함 된 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