免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7278 | 回复: 1
打印 上一主题 下一主题

Resin配置SSL双向认证 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-05-21 15:15 |只看该作者 |倒序浏览
本帖最后由 shang2354 于 2010-05-21 16:00 编辑

前几天有个项目需要做SSL双向认证,现在记录下综合前辈思想的配置方法。
    Resin支持多种SSL证书的文件格式,包括Java Keystore, PKCS12, Openssl等。目前Openssl仅在Resin 3.2 Professionial 版本才可以获得支持。但在Resin 2和Resin 3的开源版本中都可以支持Java Keystore, PKCS12。
    本文将使用JDK的keytool来为Resin配置双向SSL认证。
    JDK1.6.10
    Resin-3.1.6
============================================================================
一 生成服务器证书
   使用keytool为Resin生成证书,假定服务器的域名是"aa.bb.com",keystore文件存放在"/usr/resin/conf",口令为“123456”,使用下面的命令:
/usr/local/jdk/bin/keytool -genkey -v -alias resin -validity 3650 -keyalg RSA -keystore /usr/resin/conf/server.keystore -dname "CN=aaa.bb.com,OU=a,O=a,L=SH,ST=SH,C=CN" -storepass 123456 -keypass 123456
二 生成客户端证书
   生成IE能使用的证书,所以其格式将是PKCS12,使用下面的命令来完成:
/usr/local/jdk/bin/keytool -genkey -v -alias resin -validity 3650 -keyalg RSA -storetype PKCS12 -keystore /usr/resin/conf/client.p12 -dname "CN=aaa.bb.com,OU=a,O=a,L=SH,ST=SH,C=CN" -storepass 123456 -keypass 123456  
三 服务端信任客户端
   由于是双向SSL认证,服务器必须要信任客户端证书,因此,必须把客户端证书添加为服务器的信任认证。由于不能直接将PKCS12格式的证书库导入,所以要先把客户端证书导出为一个单独的CER文件,命令如下:
/usr/local/jdk/bin/keytool -export -alias resin -keystore /usr/resin/conf/client.p12 -storetype PKCS12 -rfc -file /usr/resin/conf/client.cer
    下一步是把生成的.cer文件添加到服务器的信任证书库,是其成为服务器的信任证书,命令如下:
/usr/local/jdk/bin/keytool -import -v -file /usr/resin/conf/client.cer -keystore /usr/resin/conf/server.keystore
     通过list命令可以查看服务器的证书库,在里面讲看到两个证书,一个服务端的、一个客户端的。
四 将客户端证书导入cacerts密钥库
/usr/local/jdk/bin/keytool -import -v -trustcacerts -storepass changeit -alias resin -file /usr/resin/conf/client.cer -keystore /usr/local/jdk/jre/lib/security/cacerts
五 配置Resin
    在Resin的配置文件中添加如下配置:
                <http address="*" port="443">
                <jsse-ssl>
                <key-store-type>jks</key-store-type>
                <key-store-file>/usr/resin/conf/server.keystore</key-store-file>
                <password>123456</password>
                <verify-client>required</verify-client>
                </jsse-ssl>
                </http>
<verify-client>required</verify-client>此项是开启双向认证。

配置完成重启Resin服务,将client.p12文件导入IE浏览器即可访问。https://aaa.b.com.

论坛徽章:
3
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:19
2 [报告]
发表于 2010-06-01 11:08 |只看该作者
就这么简单。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP