首先需要进入jdk\jre\bin目录
1.生成服务器证书 (下面两行是一起的命令)
keytool -genkey -v -alias tomcat -keyalg RSA -keystore C:\Users\hu\Desktop\key\tomcat.keystore -validity 36500
2. 生成客户端证书 (下面两行是一起的命令)
keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore C:\Users\hu\Desktop\key\mykey.p12 -validity 36500
3. 让服务器信任客户端证书
(1)由于不能直接将PKCS12格式的证书库导入,必须先把客户端证书导出为一个单独的CER文件,使用如下命令:
keytool -export -alias mykey -keystore C:\Users\hu\Desktop\key\mykey.p12 -storetype PKCS12 -storepass 123456 -rfc -file C:\Users\hu\Desktop\key\mykey.cer
(2)将该文件导入到服务器的证书库,添加为一个信任证书使用命令如下:
keytool -import -v -file C:\Users\hu\Desktop\key\mykey.cer -keystore C:\Users\hu\Desktop\key\tomcat.keystore
(3)通过 list 命令查看服务器的证书库,可以看到两个证书,一个是服务器证书,一个是受信任的客户端证书:
keytool -list -keystore C:\Users\hu\Desktop\key\tomcat.keystore
4.让客户端信任服务器证书
keytool -keystore C:\Users\hu\Desktop\key\tomcat.keystore -export -alias tomcat -file C:\Users\hu\Desktop\key\tomcat.cer
5. 打开Tomcat根目录下的/conf/server.xml,找到Connector port="8443"配置段,修改为如下:
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true" clientAuth="false"
sslProtocol="TLS" keystoreFile="C:/Users/Administrator/Desktop/key/tomcat.keystore"
keystorePass="123456" />
注释掉
<!--<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />-->
Tomcat配置为https
1.找到安装 Tomcat目录下在 conf 文件夹中的 server.xml 文件
port="80" 修改redirectPort参数值为"443"
2.找到安装 Tomcat目录下在 conf 文件夹中的web.xml 文件
<login-config>
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
配置Tomcat环境变量


网友评论