R146より前のバージョンでは、X509Certificate
オブジェクトを直接作成することが可能でした。このAPIは廃止され、新しいAPIはX509CertificateHolder
オブジェクトのみを提供します。
X509CertificateHolder
をX509Certificate
に変換する方法が見つかりません。
これはどのように行うことができますか?
他の誰かが同じ問題を抱えている場合に備えて、私は自分の質問に回答しますが、削除はしません。
return new JcaX509CertificateConverter().setProvider( "BC" )
.getCertificate( certificateHolder );
そして属性証明書の場合:
return new X509V2AttributeCertificate( attributeCertificateHolder.getEncoded() );
エンコードとデコードなので、うまくいきませんが、動作します。
別のオプションはこれです:)
CertificateFactory certFactory = CertificateFactory.getInstance("X.509");
InputStream in = new ByteArrayInputStream(certificateHolder.getEncoded());
X509Certificate cert = (X509Certificate) certFactory.generateCertificate(in);