前提:
本说明单向认证,是针对客户端使用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中了。
本说明单向认证,是针对客户端使用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中了。