5
私はBouncycastle libを使用して、X509v3CertificateBuilderクラスを使用してPKCS10要求から証明書を生成しています。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