java - keystore 更改后重新加载 SSLServerSocket,无需关闭并创建新套接字

标签 java networking ssl

我打开了一个 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/

相关文章:

java - 在 windows/linux 上连接和断开网络连接

c# - 通过 NAT/防火墙进行 P2P 数据传输的开源库或类

ssl - Mosquitto TLS,适用于 MQTTfx 但不适用于 mosquitto_pub(tlsv1 警报未知 ca)

asp.net - 我可以通过 SSL 使用单独的 web.config 文件吗?

java - 从 eclipse 插件中连接到 HTTPS 会抛出异常

java - 我该如何用扫描仪(java)处理它?

java - 在 Java 中运行 JavaScript 的最佳方式是什么?

c++ - 在 WSADuplicateSocket 上发送多条消息时会发生什么?

java - 如何通过xhtml显示PDF

java - 如何在不使用外部类名称的情况下从内部类获取对外部类的引用?