本文的测试环境是apache-tomcat-7.0.57
安装了jdk后可利用keytool制作证书
1.生成keystore文件 ,证书的名称叫为test001,执行命令后要求输入证书的密码,我们设置为123456;完毕后会在当前目录下,会产生一个.keystore文件,将它拷贝到tomcat的bin目录下。
keytool -genkey -alias test001 -keyalg RSA -keystore
(生成证书的时候,“您的名字与姓氏是什么” 一定要注意输入你的ip、域名,总之,你希望以后通过https://xx来访问你的网站的话,此处就要填写xx。否则,会有证书不受信的提示。)
2.导出证书文件,先从控制台进入tomcat的bin目录。执行以下命令后会让你输入证书的密码,以下命令test001为证书名称
keytool -selfcert -alias test001 -keystore .keystore
3.生成证书文件,以下命令test001为之前执行命令时输入的证书名称,123456为密码,tomcat.cer为导出证书的文件名(该步骤是生成让客户安装的证书,不安装也可以,但会在访问时出现不信息提示)
keytool -export -alias test001 -keystore .keystore -storepass 123456 -rfc -file tomcat.cer
4.修改tomcat的配置文件server.xml ,找到
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" />
取消注释并将它改成(注意如果想用80端口访问时一定要用443):
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" keystoreFile="bin/.keystore" keystorePass="123456" clientAuth="false" sslProtocol="TLS" />
5.如果只想用https访问,需要注释原来的8080窗口监听
Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" / >
6.若tomcat报 Connector attribute SSLCertificateFile must be defined when using SSL with APR。则去server.xml配置文件中注释以下配置
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />