SSLServerSocketFactory

SSLServerSocketFactory

我用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。

09-11 19:35