我想使用PEM文件来设置SSL Soap连接。 我不想使用java keystore命令行,因为我需要这个应用程序是可移植的。
这样做的最佳方式是什么?
答案 0 :(得分:2)
我们这样做的方法是使用BouncyCastle PEMReader
私钥示例代码
Reader reader = new InputStreamReader( new FileInputStream( filename ), "US-ASCII" );
PEMReader pemReader = new PEMReader( reader );
PrivateKey privateKey = ( PrivateKey ) pemReader.readObject();
pemReader.close();
对于X509证书
X509Certificate certificate = (X509Certificate) pemReader.readObject();
然后初始化KeyStore
KeyStore ks = KeyStore.getInstance( "JKS" );
ks.load( null, KSPASSWORD );
ks.setKeyEntry( "Client: " + subject, privateKey, KSPASSWORD, [certificate] );