我打开了一个 SSLServerSocket,它是从 SSLContext 对象创建的,该对象加载了信任库和 keystore 。除此之外,我还有一个单独的编辑器程序来编辑 keystore ,即添加/删除证书等。如果 keystore 或信任库发生更改,有没有办法将其加载到 SSLServerSocket 而不关闭它并创建一个新的。
sslContext.init( keyManagerFactory.getKeyManagers(), trustManagerFactory.getTrustManagers(), null );
serverSocket = ( SSLServerSocket ) sslContext.getServerSocketFactory().createServerSocket( getPort() );
serverSocket.setNeedClientAuth( true );
最佳答案
不,没有,但是关闭它并快速打开一个新的应该不会对您造成伤害。在此期间尝试连接的客户端将遇到连接失败,积压队列中的任何待处理客户端也是如此,但您应该能够在一秒或更短的时间内完成所有操作。
关于java - keystore 更改后重新加载 SSLServerSocket,无需关闭并创建新套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11754805/