我用Keytool创建了一个serverkeystore.jks,其中有2个不同的pwd用于存储和密钥,但是除非得到我的编辑并且将相同的值放在两个中,否则我会得到java.security.UnrecoverableKeyException: Cannot recover key
我如何修改我的代码以允许两次不同的通过? :
SSLServerSocket sslserversocket=null;
try {
System.setProperty("javax.net.ssl.keyStore", serverKeyStore);
System.setProperty("javax.net.ssl.keyStorePassword", pwdStore);
SSLServerSocketFactory sslserversocketfactory = (SSLServerSocketFactory) SSLServerSocketFactory.getDefault();
sslserversocket = (SSLServerSocket) sslserversocketfactory.createServerSocket(port);
[...]
在此先感谢^^
最佳答案
您无法使用系统属性来执行此操作。您将必须编写并加载自己的X509KeyManager并使用它创建自己的SSLContext。