如果没有 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 本机。
可以使用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 本机。