从受密码保护的密钥库加载证书和密钥,然后将其用于证书验证和数字签名
答案 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上,因为这是你想要做的)