Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中将证书字节[]转换为X509Certificate_Java_X509certificate - Fatal编程技术网

在Java中将证书字节[]转换为X509Certificate

在Java中将证书字节[]转换为X509Certificate,java,x509certificate,Java,X509certificate,我已将证书作为Base64编码字符串存储在数据库中。我可以从数据库中读取并解码它,但我想将解码的字节[]转换为X509证书。我正在寻找这样做的示例代码。我试过: CertificateFactory certFactory = CertificateFactory.getInstance("X.509"); InputStream in = new ByteArrayInputStream(bytes); X509Certificate cert = (X509Certificate)certF

我已将证书作为Base64编码字符串存储在数据库中。我可以从数据库中读取并解码它,但我想将解码的字节[]转换为X509证书。我正在寻找这样做的示例代码。我试过:

CertificateFactory certFactory = CertificateFactory.getInstance("X.509");
InputStream in = new ByteArrayInputStream(bytes);
X509Certificate cert = (X509Certificate)certFactory.generateCertificate(in);
这会导致编码类型出现问题。表示证书的有效示例字符串或字节[]将是良好的


任何指针都会很棒!谢谢。

您的示例代码看起来不错。您可以使用openssl自己生成
字节[]

openssl genrsa -out privkey.pem
openssl req -new -x509 -key privkey.pem -outform DER -out cert.der

-1:OP说,“在Java中”我回答了他关于Java的问题。看起来不错。我在回答问题的第二部分,他要求提供示例:使用外部工具openssl生成这些示例。你的答案是否回答了这个问题(我自己也不确定问题是什么!)?您的openssl示例在哪些方面与OP问题相关?看,他有一个字节数组不能与该代码一起工作。要么他的Java代码错误,要么输入错误(不是证书?不同的编码?直到看到输入或错误消息,我们才知道)。我声称他的代码不是问题所在,我用一些示例对其进行了测试,并授权他生成用于测试的示例输入。您需要在答案中添加最后一条注释。您提到的“编码类型问题”是什么?这是数据库问题还是Java问题?我想您需要的是。getEncoded()方法将返回一个字节[]。您是如何获得字节数组的?编码类型到底有什么问题?这几行代码中的哪一行会引发异常?例外情况是什么?这个问题需要关闭,而不是转到主页。OP已经有五年没有回应过关于它的询问了。