如何在Tomcat服务器上安装JKS格式的SSL证书
不同的服务器不仅安装SSL证书的方法不一样,支持安装的格式也不一样。Tomcat服务器支持安装PFX格式和JKS两种格式的证书,本文主要介绍一下如何在Tomcat服务器上安装JKS格式的SSL证书。
不同格式的证书也可以进行格式转换,具体的可以参考这篇文章《如何将SSL证书格式转换为适当的格式》。
本文以将JKS格式证书安装在Linux操作系统中的Tomcat 7为例介绍安装证书的具体步骤。
1、解压已保存到本地的JKS证书文件。解压后您将看到文件夹中有以下文件:
1)证书文件(domain_name.jks)
注:本文中证书名称以domain_name为示例。
2)密码文件(jks-password.txt)
如果您在提交证书申请时,未将CSR生成方式设置为系统生成,则您下载的证书压缩包中不包含TXT密码文件。您在数字证书管理服务控制台下载证书时必须选择其他类型服务器,下载CRT格式的证书,并使用OpenSSL工具生成JKS格式的证书文件。
每次下载证书都会产生新的密码文件。该密码文件仅匹配本次下载的证书。如果需要更新证书文件,同时也要更新匹配的密码文件。
2、在Tomcat安装目录下新建cert目录,将证书文件和密码文件拷贝到cert目录下。
3、参考以下步骤修改配置文件server.xml
1)访问Tomcat安装目录/conf/server.xml目录,打开server.xml文件
2)去掉server.xml中以下内容前的注释,即该内容前的井号(#)
<Connector port=”8443″
protocol=”HTTP/1.1″
port=”8443″ SSLEnabled=”true”
maxThreads=”150″ scheme=”https” secure=”true”
clientAuth=”false” sslProtocol=”TLS” />
3)参照以下内容修改server.xml文件
<Connector port=”443″ #port属性根据实际情况修改(HTTPS默认端口为443)。如果使用其他端口号,则您需要使用https://yourdomain:port的方式来访问您的网站
protocol=”HTTP/1.1″
SSLEnabled=”true”
scheme=”https”
secure=”true”
keystoreFile=”Tomcat安装目录/cert/domain_name.jks” #证书名称前需加上证书的绝对路径,请使用您证书的文件名替换domain_name。
keystorePass=”证书密码” #此处请替换为您证书密码文件jks-password.txt中的内容。
clientAuth=”false”
SSLProtocol=”TLSv1.1+TLSv1.2+TLSv1.3″
ciphers=”TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256″/>
4)保存server.xml文件
4、可选:配置web.xml文件,开启HTTP强制跳转HTTPS
在文件</welcome-file-list>后添加以下内容:
<login-config>
<!– Authorization setting for SSL –>
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<!– Authorization setting for SSL –>
<web-resource-collection >
<web-resource-name>项目名称</web-resource-name> #请将该参数替换为您的项目名称。
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
最后,重启Tomcat服务器,就可以查验SSL证书是否配置成功。