不说废话,直接上过程笔记:
1 使用工具:
apache-tomcat-6.0.29
jdk1.6.23
2 过程描述:
?????? 2.1 在我方的服务器上,通过jdk工具keytool生成密钥对以及个人证书(其实就是认证申请文件.csr)。结果在我方生成两个文件,分别是:tian.cer(导出的个人证书),tian.csr(输出的认证签名申请文件)。
?????? 2.2 将生成的tian.csr发送给个CA方,他们会根据这个生成以下文件返回给我方:
Tian.crt(认证后的我方服务器端的数字证书),Ct2.crt(电信根证书),test.p12(带私钥的个人证书)。以下是解释:
根证书(ct2.crt)用于信任网站;个人证书(test.p12)用于向网站表明自己的身份。双向。tomcat安装ct2.crt、tian.crt,这个是向客户端证明tomcat的身份;
客户端安装ct2.crt、test.p12,这个是向tomcat服务器证明自己的身份。tian.crt是我方服务器的认证证书;ct2.crt是根证书;test.p12是客户端个人证书。tian.crt是ct2.crt根证书认证的;test.p12也是ct2.crt根证书做认证的。
2.3 把CA方发过来的ct2.crt和tian.crt加入到我方tomcat,让服务器信任证书。
2.4 配置tomcat的server.xml配置文件,配置好https。
2.5 每个访问的sp(浏览器)先把ct2.crt放在浏览器的可信任根目录里,然后安装导入个人证书(test.p12)之后。访问我方地址https://IP:8443即可。
?
3 操作过程:
3.1? 生成密钥对以及个人证书
命令:$ keytool -genkey -alias tian -keyalg RSA
3.2导出个人证书
命令:keytool -export -alias tian -file tian.cer
信息:输入keystore密码:?
??? 保存在文件中的认证 <tian.cer>
3.3 输出认证签名申请文件(.csr)
命令:keytool -certreq -file tian.csr -alias tian
信息:输入keystore密码:
3. 4 先导入根证书
命令:keytool -import -v -trustcacerts -file ct2.crt -alias ct2_root
?
信任这个认证? [否]:? Y
认证已添加至keystore中
[正在存储 /home/tomcat/.keystore]
?
3. 5 导入CA认证过的证书(tian.crt)
命令:keytool -import -v -file tian.crt -alias tian
信息:
输入keystore密码:?
认证回复已安装在 keystore中
[正在存储 /home/tomcat/.keystore]
?
3.6配置tomcat:
??? <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
?????????????? maxThreads="150" scheme="https" secure="true"
?????????? keystoreFile="/home/tomcat/.keystore"
????????? keystorePass="password"
??????? truststoreFile="/home/tomcat/.keystore"
?????? truststorePass="password"
???? clientAuth="true" sslProtocol="TLS" />
?
3.7 客服端安装个人证书和根证书
?
3.8 访问https://IP:8443出现提示你提交个人证书提示框。成功双向认证!
?
?