从密钥库加载证书

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

阅读证书真是微不足道。

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

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

我用这个代码

  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

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