Java Server SSL with different storepass and keypa

2019-09-17 10:26发布

问题:

I create with Keytool a serverkeystore.jks with 2 different pwd for store and key, but i get java.security.UnrecoverableKeyException: Cannot recover key unless I edit one of them and put the same value in both

How can i modify my code to allow 2 different pass? :

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);

[...]

thanks in advance ^^

回答1:

You can't do it with the system properties. You would have to write and load your own X509KeyManager and create your own SSLContext with it.