Windows下tomcat安装SSL证书及配置HTTPS.md

首先找到java安装目录 我本地的安装路径为: C:\eclipse\pleiades\java\8\bin

CMD进入JDK安装目录

cd C:\eclipse\pleiades\java\8\bin

使用jdk自带keytool.exe生成ssl证书

注:以下目录是我自己建的,在使用时修改为自己所创建的目录

1、生成服务器证书:

keytool -genkey -v -alias tomcat -keyalg RSA -keystore C:/ssl/tomcat.keystore -validity 365


参数说明: 
genkey生成方式,对称或者非对称 
-alias tomcat(别名) 
-keyalg RSA(算法) 
-keysize 1024(密钥长度) 
-validity 365(有效期,天单位) 
-keystore C:/keys1/tomcat.keystore(指定生成证书的位置和证书名称)

注:以上的keystore密码建议设置成一致,避免混乱。这里设置测试密码为p@ssw0rd。输入密码后,提示输入名字与姓氏,这里输入浏览器访问域名。其他项直接回车跳过即可。C:/ssl/ 目录需要提前手动创建好,否则会生成失败

2、生成客户端证书:

keytool -genkey -v -alias clientkey -keyalg RSA -storetype PKCS12 -keystore c:/ssl/clientkey.p12

3、这里服务端跟客户端生成完证书,双向需要认证。首先,让服务器信任客户端证书:

keytool -export -alias clientkey -keystore c:/ssl/clientkey.p12 -storetype PKCS12 -storepass p@ssw0rd -rfc -file c:/ssl/clientkey.cer

4、将客户端证书导入服务器证书库。(服务器信任客户端证书)

keytool -import -v -file c:/ssl/clientkey.cer -keystore c:/ssl/tomcat.keystore

5、客户端信任服务器证书:

keytool -keystore c:/ssl/tomcat.keystore -export -alias tomcat -file c:/ssl/tomcat.cer

在最后完成了窗口提示我用以下命令将证书转换为pkcs12加密

keytool -importkeystore -srckeystore C:/ssl/tomcat.keystore -destkeystore C:/ssl/tomcat.keystore -deststoretype pkcs12

6.双击tomcat.cer–>安装证书–>证书存储选择“受信任的根证书颁发机构”–>后面根据提示安装即可

7、配置tomcat种server.xml中443端口。观察tomcat中端口配置:

这里有配置redirectPort="443" 。猜测这里如果添加了SSL/TLS证书后,利用http协议80端口访问将自动重定向到443端口。所以这里修改443为TLS认证协议:

<Connector port="80" protocol="HTTP/1.1"
               maxParameterCount="-1"
               connectionTimeout="20000"
               redirectPort="443" 
			   />

   <Connector port="443"
          protocol="org.apache.coyote.http11.Http11NioProtocol"
          maxThreads="150"
          SSLEnabled="true"
		  scheme="https"
		  secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="C:\ssl\tomcat.keystore" keystorePass="p@ssw0rd"
		  truststoreFile="C:\ssl\tomcat.keystore" truststorePass="p@ssw0rd"
		  ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA"/>

参数说明:keystoreFile证书路径。keystorePass设置证书密码。ciphers设置这个参数,避免chrome浏览器由于安全机制过滤,提示“

8、配置tomcat目录下的web.xml,添加ssl认证,将http请求全部需要ssl认证:

<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>SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>

9.配置域名

http://www.xxxxx.cn本来就是可以访问的域名,但是此例中我们用它测试证书,所以不能让他访问真实的服务器,我们应该让他访问到本机,只有这样我们安装到本地JVM的证书才有效,方法如下:

打开C:/Windows/System32/drivers/etc/hosts,拉到最下面添加:

127.0.0.1 www.xxxxx.cn

10.启动tomcat

所有的配置都已完成,现在就让我们来启动tomcat吧。 输入:https://www.xxxxx.cn,会提示你该网站的安全证书不受信任,没错,这就是为什么让你到证书提供商购买的原因。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值