Java 配置Tomcat以使用SSL
我的第一个问题-不使用数字证书就不能使用https吗? 我的第二个问题-我正在保护web应用程序中的几个页面。因此,他补充说:Java 配置Tomcat以使用SSL,java,jakarta-ee,tomcat,ssl,https,Java,Jakarta Ee,Tomcat,Ssl,Https,我的第一个问题-不使用数字证书就不能使用https吗? 我的第二个问题-我正在保护web应用程序中的几个页面。因此,他补充说: <security-constraint> <web-resource-collection> ...... </web-resource-collection> <auth-constraint> ...... </auth-constraint>
<security-constraint>
<web-resource-collection>
......
</web-resource-collection>
<auth-constraint>
......
</auth-constraint>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
......
.您使用的密钥存储库格式是什么?我相信Tomcat配置中的默认值是JKS,但是如果您使用的是PKCS#12(.p12或.pfx扩展名),则需要指定它。
请注意keystoreType=“PKCS12”
将协议更改为
protocol=“org.apache.coyote.http11.Http11Protocol”
这将解决这个问题。它不适用于公共互联网应用程序。这是测试。我还创建了密钥keytool-genkey-alias tomcat-keyalg RSA-validity 100
,并将.keystore文件复制到上述目录。我必须使用默认设置。我没有更改任何设置,事实上我不知道这意味着什么..您是否看到日志文件中有任何错误,表明可能是什么问题?在日志目录中查找catalina.err.Why?指定org.apache.coyote.http11.Http11Protocol和http/1.1之间有什么区别?@Kevin,值“http/1.1”表示将由Tomcat选择SSL实现。如果启用了APR,则Tomcat更喜欢APR实现。但是atributes keystoreFiles、keystorePass是为JSSE配置保留的。值“org.apache.coyote.http11.Http11Protocol”表示您希望使用JSSE实现,这与您的配置一致。
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150"
scheme="https"
secure="true"
keystoreFile="C:\Program Files\apache-tomcat-7.0.11-windows-x86\apache-tomcat-7.0.11\.keystore"
keystorePass="johneipe"
clientAuth="optional"
sslProtocol="TLS" />
<Connector port="1443"
maxThreads="200"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" SSLEnabled="true"
keystoreFile="/opt/companyName/tomcat.keystore"
keystoreType="PKCS12"
keystorePass="password"
ciphers="SSL_RSA_WITH_RC4_128_MD5,SSL_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_DSS_WITH_AES_128_CBC_SHA,SSL_RSA_WITH_3DES_EDE_CBC_SHA,SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA,SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_DSS_WITH_AES_256_CBC_SHA"
URIEncoding="UTF-8"
/>