Tomcat配置https证书
网上搜索出来大多数是通过keytool自已生成证书来完成,这种在工作很少用到(浏览器会报不安全)。以下是通过申请的证书配置过程。因为在配置中遇到了一些坑,记之
1、准备证书与私钥
demo.crt
demo.key
2、合并证书
openssl pkcs12 -export -in demo.crt -inkey demo.key -out demo.p12 -name demo
注意:
1、 demo.crt 是你的证书
2、 demo.key 是你的私钥
3、 demo.p12 是合并后的证书
4、-name 后面的demo是指定的别名,后面配置tomcat8.5之后的版本需要用到,要记住
5、执行这条命令要设置一个导出密码,后面要用到,要记住,最好6位以上
3、生成keystore文件
keytool -importkeystore -srckeystore demo.p12 -srcstoretype PKCS12 -destkeystore demo.jks
注意:
1、demo.p12 是第二步生成的证书名
2、demo.jks 是生成的keystore文件名
3、执行这条命令会首先让你设置一个密码,这个密码后面配置会用到,要记住。然后验证上一步设置的密码。推荐该步骤设置的密码与上一步一致,如果不一致可能会出现错误详见 java.security.UnrecoverableKeyException: Cannot recover key - 简单的幸福 - ITeye技术网站
4、配置tomcat
tomcat 8.5 之前
<Connector SSLEnabled="true" acceptCount="100" clientAuth="false"
disableUploadTimeout="true" enableLookups="false" maxThreads="25"
port="8443" keystoreFile="~/ssl/demo.jks" keystorePass="123456"
protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https"
secure="true" sslProtocol="TLS" />
tomcat 8.5 之后
<Connector port="8643" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="~/ssl/demo.jks"
certificateKeyAlias="demo"
certificateKeystorePassword="123456"
type="RSA" />
</SSLHostConfig>
</Connector>
注意:
1、~_ssl_demo.jks 是你前面步骤生成的storekey文件的路径
2、123456 是前面第3步设置的密码
3、tomcat8.5之后有一个certificateKeyAlias这个是2步设置-name的值
参数地址:
TOMCAT导入通过第三方证书机构获取的证书 - IceFlame博客频道 - CSDN.NET
java.security.UnrecoverableKeyException: Cannot recover key - 简单的幸福 - ITeye技术网站