Linux keytool命令密钥和证书管理工具,生成ssl证书
keytool -genkey -alias tomcat8 -keyalg RSA -keystore /opt/tomcat8/conf/.keystore -validity 36500
上述命令的含义是生成一个别名为“tomcat8”的证书,证书的地址在/opt/tomcat8/conf 下,证书有效期为36500天(100年)。
命令 | 描述 |
---|---|
-certreq | 生成证书请求 |
-changealias | 更改条目的别名 |
-delete | 删除条目 |
-exportcert | 导出证书 |
-genkeypait | 生成密钥对 |
-genseckey | 生成密钥 |
-importcert | 导入证书或证书链 |
-importkeystore | 从其他密钥库导入一个或所有条目 |
-keypasswd | 更改条目的密钥口令 |
-list | 列出密钥库中的条目 |
-printcert | 打印证书内容 |
-printcertreq | 打印证书请求的内容 |
-printcrl | 打印CRL文件的内容 |
-storepasswd | 更改密钥库的存储口令 |
出现上述问题回答完毕之后,可以在/opt/tomcat8/conf 文件夹下看到 .keystore 文件
接下来要修改/conf 文件夹下server.xml
文件
首先将下面的注释,一定要注释:
<Connector connectionTimeout="20000" port="8090" protocol="HTTP/1.1" redirectPort="8443"/>
注释完之后,再加上下面的一段代码:
1.tomcat8及以下:
<Connector SSLEnabled="true" acceptCount="100" clientAuth="false"
disableUploadTimeout="true" enableLookups="false" maxThreads="25"
port="8090" keystoreFile="/opt/tomcat8/conf/.keystore" keystorePass="123456"
protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https"
secure="true" sslProtocol="TLS" />
2.tomcat9:
<Connector port="8090" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/.keystore"
type="RSA" certificateKeystorePassword="123456" />
</SSLHostConfig>
</Connector>
重新启动tomcat,就可以访问https链接了