从byte 生成X509Certificate?
是否有可能从byte []生成一个java.security.cert.X509Certificate?
当然。
证书对象可以由CertificateFactory的一个实例创build – 特别是被configuration为创buildX509证书的一个实例。 这可以像这样创build:
CertificateFactory certFactory = CertificateFactory.getInstance("X.509");
然后你需要传递一个包含证书字节的InputStream。 这可以通过将您的字节数组包装在ByteArrayInputStream中来实现:
InputStream in = new ByteArrayInputStream(bytes); X509Certificate cert = (X509Certificate)certFactory.generateCertificate(in);
InputStream stream = null; byte[] bencoded = javax.xml.bind.DatatypeConverter.parseBase64Binary(x509CertificateStr); try { CertificateFactory certFactory = CertificateFactory.getInstance("X.509"); cert = (X509Certificate) certFactory.generateCertificate(stream); } catch (java.security.cert.CertificateException e) { // TODO Auto-generated catch block e.printStackTrace(); }