首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法解析来自.cer的证书以在keystore: Java中导入证书

问无法解析来自.cer的证书以在keystore: Java中导入证书
EN

Stack Overflow用户
提问于 2017-05-25 03:15:00
回答 1查看 1.9K关注 0票数 0

我想将导出的证书(.cer)导入到我的应用程序中。导出是用PEM,DER转换类型完成的。我已经在在线证书解码器工具上测试了导出的数据,它显示了很好的结果,但是当我想在我的应用程序中导入它时,我得到了:

java.security.cert.CertificateException:无法解析证书: java.io.IOException:空输入

这是我的消息来源:

代码语言:javascript
复制
Path fileLocation = Paths.get(file.getAbsolutePath());
byte[] data = Files.readAllBytes(fileLocation);
ByteArrayInputStream bIn = new ByteArrayInputStream(data);
X509Certificate cert = (X509Certificate) 

exception -->> CertificateFactory.getInstance("X.509").generateCertificate(bIn);

keystore.setCertificateEntry(alias, cert);

编辑:方法可以很好地处理PEM格式证书,但无法导入DER。

EN

回答 1

Stack Overflow用户

发布于 2017-05-26 12:08:12

我发现错误与导出.DER类型的证书有关。

下面是固定的.DER导出方法:

代码语言:javascript
复制
FileOutputStream fos = new FileOutputStream(file.getAbsolutePath() + ".cer");
DEROutputStream dos = new DEROutputStream(fos);
ASN1InputStream asn1inputStream = new ASN1InputStream(new ByteArrayInputStream(chain[0].getEncoded())); // this is Certificate
dos.writeObject(asn1inputStream.readObject());
dos.flush();
fos.flush();
dos.close();
fos.close();

上述导入方法同时适用于.DER和.PEM证书格式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44171685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档