Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1083399
  • 博文数量: 227
  • 博客积分: 6860
  • 博客等级: 准将
  • 技术积分: 2688
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-02 16:06
文章分类

全部博文(227)

文章存档

2015年(7)

2014年(8)

2012年(5)

2011年(62)

2010年(145)

分类: Java

2011-12-29 17:33:57

服务端和客户端的证书是通过Keytool工具生成的。首先分别生成服务端和客户端的密钥库——server.keystore和client.keystore,然后分别导出服务器端和客户端的证书——
server.cer和client.cer,最后将server.cer导入到客户端的信任库client.truststore,把client.cer导入到服务端的信任库server.truststore。
SUN公司提供了制作证书的工具keytool。在JDK 1.4以后的版本中都包含了这一工具,它的位置为\bin\keytool.exe
1)通过使用一下的命令来创建服务器端的密匙库。
keytool -genkey -alias serverkey -keystore server.keystore -keyalg RSA
以上命令执行完成后,将获得一个名为server.keystore的密匙库。
2)生成客户端的信任库。首先输出RSA证书:
keytool -export -file server.cer -storepass most_sms_topic -keystore server.keystore
然后把RSA证书输入到一个新的信任库文件中。这个信任库被客户端使用,被用来验证服务器端的身份。
keytool -import -file server.cer -storepass most_sms_topic -keystore client.truststore -alias serverkey -noprompt
3)创建客户端密匙库。重复步骤1,创建客户端的密匙库。也可以使用以下命令来完成:
keytool -genkey -dname " CN=hellking-Client, OU=tsinghua, O=tsinghua, L=BEIJING, S=BEIJING, C=CN"
-storepass most_sms_topic -keystore client.keystore -keyalg RSA -keypass most_sms_topic
4)生成服务器端的信任库。
keytool -export -file client.cer -storepass most_sms_topic -keystore client.keystore
keytool -import -file client.cer -storepass most_sms_topic -keystore server.truststore -alias clientkey -noprompt
SSL进行双向认证的时候需要服务端和客户端的keystore和truststore文件。
tomcat配置虚拟目录,需要修改%tomcat%\conf\文件夹下的server.xml文件,添加ssl节点:
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true"
clientAuth="false" keystoreFile="E:\Program Files\Apache Software Foundation\Tomcat 5.0\conf\server.keystore" keystorePass="admina"
truststoreFile="E:\Program Files\Apache Software Foundation\Tomcat 5.0\conf\server.truststore" truststorePass="admina"
sslProtocol="TLS" />

这样你可以通过**来访问
阅读(1606) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~