从密钥库加载证书

时间:2011-08-21 18:35:50

标签: java certificate

从受密码保护的密钥库加载证书和密钥,然后将其用于证书验证和数字签名

3 个答案:

答案 0 :(得分:4)

阅读证书真是微不足道。

CertificateFactory factory = CertificateFactory.getInstance("X.509");  
X509Certificate certificate = (X509Certificate) factory.generateCertificate(new FileInputStream("file.pem"));  

这是使用标准API(在try / catch中)等,并且您已经加载了证书 现在,toString证书方法不适合您,因为它只捕获证书的“用户”视图,例如例如,您可以将其用于println 你不能自己发送证书对象吗?
不确定您的服务器期望什么,因此您可以查看证书的各种方法
X509Certificate

答案 1 :(得分:2)

我使用此代码

    PEMReader pr=new PEMReader(new StringReader(trust_certs));
    KeyStore trustStore  = KeyStore.getInstance(KeyStore.getDefaultType());
    trustStore.load(null, null);
    Object o;
    int i=0;
    while((o=pr.readObject())!=null){
        if(o instanceof X509Certificate){
            i++;
            X509Certificate c=(X509Certificate)o;
            trustStore.setCertificateEntry(Integer.toString(i), c);
        }
    }

http://www.bouncycastle.org/docs/docs1.6/org/bouncycastle/openssl/PEMReader.html

答案 2 :(得分:0)

pem文件被读取为任何其他文本文件。阅读Java tutorial about IO(并专注于字符流,因为pem文件包含文本,在文件IO上,因为这是你想要做的)