我想使用PEM文件来建立SSL肥皂连接。
我不想使用java keystore命令行,因为我需要此应用程序具有可移植性。
最好的方法是什么?
最佳答案
我们这样做的方法是使用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] );