是否可以通过某种方式从SSLEngine访问我的自定义提供程序的服务器端口?

时间:2019-01-28 18:10:03

标签: java tomcat jce jsse sslengine

我正在设置自己的jce提供程序,并且已经通过扩展SPI /引擎类来进行设置

我使用的是Http1Protocol,我能够通过keyManager.chooseServerAlias(keyType,Principal [],socket)检索别名(使用端口作为ALIAS的Im),因为它具有套接字参数

但是当我将其更改为Http11NioProtocol时,它现在使用chooseEngineServerAlias来检索别名,不幸的是,keymanager无法访问套接字,Im将此套接字用作检索端口/别名的参考,

请告知

我已经检查了ServerHandshaker.setupPrivateKeyAndChain,它在检索引擎时具有以下实现方式

    if(this.conn != null) {
            var3 = var2.chooseServerAlias(var1, (Principal[])null, this.conn);
        } else {
            var3 = var2.chooseEngineServerAlias(var1, (Principal[])null, this.engine);
        }

根据我的理解,当使用NIO协议时,它将使用SSLEngine,但是当使用IO协议时,它将使用SSLSocket。似乎我将在tomcat上使用NioProtocol连接器,但现在无法获得端口号的引用。

0 个答案:

没有答案