用DER算法解码Java中的证书

时间:2015-10-07 16:58:32

标签: java certificate

我必须在我的Java类中打开cert文件。 Certyficates由DER算法编码。我该如何解码这个文件?

我将certyficate上传到我的servlet,这样

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

现在我必须解码这个文件,我该怎么做?

现在我遇到了麻烦,get.Instance()

enter image description here

我在文档中使用它的确切方式,但我有一个错误,如在此截图中

我该如何解决?

2 个答案:

答案 0 :(得分:1)

鉴于您的InputStream in包含证书,  你可以解码证书 通过java.security.cert.CertificateFactory。支持DER和PEM编码。

您需要的进口货物:

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

解码证书:

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

答案 1 :(得分:0)

嗯,你不能使用Reader作为开始。它是二进制的。此任务通过java.security.CertificateFactory完成。