如果没有 Tomcat 本机库,Tomcat 中是否可以使用 SNI?

Is SNI possible in Tomcat without the Tomcat Native Library?

可以使用SNI in Tomcat 9 without installing the Tomcat Native Library吗?

我查看了 Tomcat 9 配置文档,不清楚 JSSE Java SSL 实现是否足够,或者是否可以通过现有的纯 Java 访问 OpenSSL 实现没有本机连接器的代码。

谢谢。

更新:在 Mark Thomas 的保证下,我的代码可以正常工作了。这很棒!谢谢马克!这是我的部分代码,希望它可以帮助别人:

        Connector c = tomcat.getConnector();
        c.setPort(8443);
        c.setAttribute("SSLEnabled", "true");
        c.setAttribute("defaultSSLHostConfigName", "www.domain1.com");
        SSLHostConfig sslHostConfig1 = new SSLHostConfig();
        sslHostConfig1.setHostName("www.domain1.com");
        sslHostConfig1.setCertificateFile("/certs/domain1.pem");
        c.addSslHostConfig(sslHostConfig1);
        SSLHostConfig sslHostConfig2 = new SSLHostConfig();
        sslHostConfig2.setHostName("www.domain2.com");
        sslHostConfig2.setCertificateFile("/certs/domain2.pem");
        c.addSslHostConfig(sslHostConfig2);
        SSLHostConfig sslHostConfig3 = new SSLHostConfig();
        sslHostConfig3.setHostName("*.domain3.com");
        sslHostConfig3.setCertificateFile("/certs/domain3-wildcard.pem");
        c.addSslHostConfig(sslHostConfig3);

JSSE 实现支持 SNI(我们必须手工制作它)。

如果要使用 OpenSSL 实现,则必须使用 Tomcat 本机。