Byte []からJava.security.cert.X509Certificateを生成する可能性はありますか?
承知しました。
証明書オブジェクトは、 CertificateFactory のインスタンスによって作成できます。特に、X509証明書を作成するように構成されたものです。これは次のように作成できます。
CertificateFactory certFactory = CertificateFactory.getInstance("X.509");
次に、証明書のバイトを含むInputStreamに渡す必要があります。これは、バイト配列を ByteArrayInputStream でラップすることで実現できます。
InputStream in = new ByteArrayInputStream(bytes);
X509Certificate cert = (X509Certificate)certFactory.generateCertificate(in);
次のようなことができます:
X509Certificate certificate = signature.getKeyInfo().getX509Datas().get(0).getX509Certificates().get(0);
String lexicalXSDBase64Binary = certificate.getValue();
byte[] decoded = DatatypeConverter.parseBase64Binary(lexicalXSDBase64Binary);
CertificateFactory certFactory = CertificateFactory.getInstance("X.509");
Certificate cert = certFactory.generateCertificate(new ByteArrayInputStream(decoded));