Bouncycastle libを使用して、X509v3CertificateBuilderクラスを使用してPKCS10要求から証明書を生成しています。
生成された証明書を含むX509CertificateHolderオブジェクトのビルドを返します。ホルダーでgetIssuerを呼び出すと、発行者の識別名が正しい順序で返されます(発行者証明書でgetSubjectX500Principal()を呼び出した場合も同じです)。JavaCertificateFactory、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