在Tomcat实现SSL(单向)

前提:
本说明单向认证,是针对客户端使用HttpsURLConnection连接服务器时的配置。
如果客户端只是浏览器,无需用HttpsURLConnection连接服务器的话,
第三步【三、客户端的设定】可省略。


一、公钥和私钥作成

1 生成公钥server.keystore

keytool -genkey -alias server -keystore server.keystore -keyalg RSA

输入keystore密码: <server.keystore密码>   这里我输入:changeit
再次输入新密码: <server.keystore密码>   这里我输入:changeit
您的名字与姓氏是什么? 是Server端的域名,如:www.sina.com, localhost等
[Unknown]: Benben
您的组织单位名称是什么? 随意
[Unknown]: Jandsee
您的组织名称是什么? 随意
[Unknown]: Jandsee
您所在的城市或区域名称是什么? 随意
[Unknown]: Shenzhen
您所在的州或省份名称是什么? 随意
[Unknown]: Guangdong
该单位的两字母国家代码是什么? 随意
[Unknown]: CN
CN=Benben, OU=Jandsee, O=Jandsee, L=Shenzhen, ST=Guangdong, C=CN 正确吗?
[否]: Y

输入<server>的主密码
       (如果和 keystore 密码相同,按回车):


2 导出server端信任证书为 server.cer

keytool -export -alias server -file server.cer -keystore server.keystore

输入keystore密码:<server.keystore密码>   这里我输入:changeit
保存在文件中的认证 <server.cer>


二、服务器端的设定

1 直接进入配置tomcat service.xml文件

把<Connector port="8443"这一段的没删掉,加入下面的内容:

   <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
              maxThreads="150" scheme="https" secure="true"
              clientAuth="false" sslProtocol="TLS"
              keystoreFile=" server.keystore" keystorePass=" changeit" />

1,keystoreFile:在第1步成生的keystore
2,keystorePass:在第1步输入的password

2 把第1步生成的server.keystore放到tomcat的根目录下。


三、客户端的设定

1 把生成的server.cer导入到client端的JRE中

keytool -import -trustcacerts -alias server -file server.cer
-keystore "c:/Program Files/Java/jdk1.6.0_17/jre/lib/security/cacerts" -sto
repass changeit

选Y


注意:
1 Client端HttpsURLConnection的应用访问Server端的应用的URL一定要和[1]中的[您的名字与姓氏是什么?]的域名一样。
2如果购买了证书的话,就不需要在客户端导入server.cer到JRE中了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值