我有一个反应器模式的实现,我在其中加载(基本上是SSLContext
一个TransportListener
侦听器在给定端口上侦听 HTTPS 连接。)正在启动。
然后我init()
再次调用相同的方法(通过对侦听器方法的JMX调用)
sslContext.init(keyManagers, trustManagers, null);
一旦我在信任库中添加或删除证书。我必须重新加载SSLContext
以避免侦听器出现任何停机时间。
所以这是我目前面临的问题。
假设一个请求到达监听器并建立了一个连接。如果我SSLContext
在响应返回给客户端之前重新加载对象,这会影响连接SSLEngine
对象wrap
在发送前加密有效负载的过程吗?
注意:我已经验证了同一个SSLContext
对象被传递给所有 SSLEngines。当侦听器启动时,SSLContext 对象被传递给其他几个对象。例如,我有一个连接池,我必须将此 SSLContext 对象传递到该连接池。因此创建一个新的 SSLContext 对象将完全打破现有的连接是连接池。这就是为什么我尝试使用相同的 SSLContext 对象。