如何在java中将byte []类型转换为Certificate类型?

Tha*_*twe 3 java bytearray certificate

我有一个byte[]证书数据,我想更改此byte[]类型以进行Certificate输入.我怎样才能做到这一点?

现在我用了CertificateFactory.generateCertificate(InputStream inStream).

byte[] csr = getCSR(cn, ou, org, loc, state, country,email);
CertificateFactory  cf = CertificateFactory.getInstance("X.509");
ByteArrayInputStream bais = new ByteArrayInputStream(csr);
Certificate certificate = cf.generateCertificate(bais);
Run Code Online (Sandbox Code Playgroud)

但错误发生证书证书= cf.generateCertificate(bais); 在这条线上.

错误:java.security.cert.CertificateParsingException:java.io.IOException:ObjectIdentifier() - 数据不是对象ID(tag = 49)

为什么会出现此错误?这段代码有什么问题?请解释一下.谢谢.

Pau*_*Wee 7

您可以使用它CertificateFactory.generateCertificate(InputStream inStream)来生成证书.

以下是生成X509证书的示例:

CertificateFactory cf   = CertificateFactory.getInstance("X.509");
Certificate certificate = cf.generateCertificate(new ByteArrayInputStream(buf));
Run Code Online (Sandbox Code Playgroud)