Mac上tomcat使用https

配置证书

1. 创建证书

证书是单点登录认证系统中很重要的一把钥匙,客户端于服务器的交互安全靠的就是证书;本教程由于是演示所以就自己用JDK自带的keytool工具生成证书;如果以后真正在产品环境中使用肯定要去证书提供商去购买,证书认证一般都是由VeriSign认证,中文官方网站:http://www.verisign.com/cn/

先查看当前的jdk版本:

$ java -version
java version "1.8.0_112"
Java(TM) SE Runtime Environment (build 1.8.0_112-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.112-b16, mixed mode)

用JDK自带的keytool工具生成证书:
注意:

您的名字与姓氏是什么?
  [Unknown]:  sso.castest.com

这里填写的是你的服务器的域名,https配置完成之后就可以输入这个地址,https://sso.castest.com:8434,后面是端口号,后面会配置

keytool -genkey -alias castest -keyalg RSA -keystore /Users/android/Library/Tomcat8/key/castestkey
输入密钥库口令:  
再次输入新口令: 
您的名字与姓氏是什么?
  [Unknown]:  sso.castest.com
您的组织单位名称是什么?
  [Unknown]:  castest.com
您的组织名称是什么?
  [Unknown]:  csetest
您所在的城市或区域名称是什么?
  [Unknown]:  Shanghai
您所在的省/市/自治区名称是什么?
  [Unknown]:  Shanghai
该单位的双字母国家/地区代码是什么?
  [Unknown]:  CN
CN=sso.castest.com, OU=castest.com, O=csetest, L=Shanghai, ST=Shanghai, C=CN是否正确?
  [否]:  y

输入 <castest> 的密钥口令
    (如果和密钥库口令相同, 按回车):  
2. 导出证书
$ keytool -export -file /Users/android/Library/Tomcat8/key/castest.crt -alias castest -keystore /Users/android/Library/Tomcat8/key/castestkey
输入密钥库口令:  

成功之后就会出现这一句

存储在文件 </Users/android/Library/Tomcat8/key/castest.crt> 中的证书
3. 为客户端的JVM导入证书
$ sudo keytool -import -keystore /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/security/cacerts -file /Users/android/Library/Tomcat8/key/castest.crt
Password:
输入密钥库口令:  

前面的密码是Mac的用户密码,后面的是你生成证书填写的密码,jdk不同可能路径也不一样,自行修改,成功之后会出现

所有者: CN=sso.castest.com, OU=castest.com, O=csetest, L=Shanghai, ST=Shanghai, C=CN
发布者: CN=sso.castest.com, OU=castest.com, O=csetest, L=Shanghai, ST=Shanghai, C=CN
序列号: 5a300333
有效期开始日期: Sun Mar 19 11:13:00 CST 2017, 截止日期: Sat Jun 17 11:13:00 CST 2017
证书指纹:
     MD5: 0A:A6:F2:C3:2E:CE:F0:DD:D4:62:DD:CC:B6:9B:50:7E
     SHA1: 2B:7A:F3:DC:12:8C:3F:66:6B:DC:15:9F:40:AE:29:A4:56:D9:BF:0A
     SHA256: 9C:DE:5B:C9:7D:9C:E3:A3:BD:C2:71:FE:FD:0D:5E:6A:30:74:03:ED:9F:55:ED:47:4A:8A:04:EB:CB:16:DB:AD
     签名算法名称: SHA256withRSA
     版本: 3

扩展: 

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: D0 86 F3 26 62 5C F7 21   E6 24 04 98 B8 98 3B AB  ...&b\.!.$....;.
0010: F2 7D 47 FC                                        ..G.
]
]

是否信任此证书? [否]:  y
证书已添加到密钥库中

配置服务器

打开”./Tomcat8/conf/server.xml”
插入这么一段代码

 <Connector port="8434" protocol="org.apache.coyote.http11.Http11NioProtocol"
            maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
            clientAuth="false" sslProtocol="TLS"
            keystoreFile="/Users/android/Library/Tomcat8/key/castestkey"
            keystorePass="castest"/>

注意,这时候你的端口号是8434

配置系统环境

在创建证书证书的时候,我们指定的服务器域名为sso.castest.com。为了能使本地浏览器通过域名能正常访问,我们需要修改增加host配置
1,前往文件夹输入/private/etc/,点击前往就可打开,可以看到一个hosts文件
2,需要修改这个文件,但是这个文件需要权限,简单的方式是把这个文件复制出来,在加上这段代码,然后粘贴回去

127.0.0.1   sso.castest.com

hosts文件配置

运行

$ cd /Users/android/Library/Tomcat8/bin
$ startup.sh
Using CATALINA_BASE:   /Users/android/Library/Tomcat8
Using CATALINA_HOME:   /Users/android/Library/Tomcat8
Using CATALINA_TMPDIR: /Users/android/Library/Tomcat8/temp
Using JRE_HOME:        /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home
Using CLASSPATH:       /Users/android/Library/Tomcat8/bin/bootstrap.jar:/Users/android/Library/Tomcat8/bin/tomcat-juli.jar
Tomcat started.

这时候你可能没有权限执行.sh文件,要求执行权限

$ sudo chmod +x *.sh

再执行

$ startup.sh

测试

打开浏览器,输入网址 https://sso.castest.com:8434/,这时候可能会提示网址不安全,继续跳转就可以,这时候会显示tomcat经典页面
tomcat

结束

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值