2015-10-07 27 views
1

我必须在我的Java类中打开证书文件。 Certyficates由DER算法编码。我怎样才能解码这个文件?通过DER算法在Java中解码证书

我上传certyficate到我的servlet,这样

InputStream in = getResourceAsStream("/certyficate.cer"); 
BufferedReader br = new BufferedReader(new InputStreamReader(in)) 

现在我有这个文件进行解码,我该怎么办呢?

现在我有有,get.Instance麻烦()

enter image description here

我用它究竟如何在文档,但我有一个错误就像这个截图

如何我解决这个问题?

+0

你可以尝试在这个问题上的代码:http://stackoverflow.com/q/11621414或类似的东西

import java.security.cert.CertificateException; import java.security.cert.CertificateFactory; import java.security.cert.X509Certificate; 

将证书解码使用弹性城堡http://www.bouncycastle.org/wiki/display/JA1/X.509+Public+Key+Certificate+and+Certification+Request+Generation – zapl

回答

1

鉴于含有证书的InputStream in,您可以解密证书 到java.security.cert.CertificateFactory。支持DER和PEM编码。

进口你将需要:

try { 
    CertificateFactory cf = CertificateFactory.getInstance("X.509"); 
    X509Certificate cert = (X509Certificate) cf.generateCertificate(in); 
} catch (CertificateException e) { 
    // handle failure to decode certificate 
} 
+0

许多thx佛答复,但我有这个代码的错误:“证书不能转换为X509证书”。你知道我该如何解决它? – Empi

+0

您能向我们展示您在'InputStream'中提供的证书数据吗? – frasertweedale

+0

它是Windows的certmgr.msc中的普通证书。抛出错误,但我修复了它。 Thx寻求帮助 – Empi