免费注册 查看新帖 |

Chinaunix

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

Xfire实现WSS之创建密钥对和数字证书 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-03-24 16:52 |只看该作者 |倒序浏览

签名和加密需要使用到数字证书和密钥对,可以使用JDK提供的KeyTool工具创建密钥对和数字证书。我们分别为服务端和客户端创建RSA密钥对,并生成各自的数字证书(包含公钥和数字签名)。服务端和客户端拥有各自的密钥库JKS文件,服务端的密钥库保存服务端的密钥对和客户端的数字证书,而客户端的密钥库保存客户端的密钥对和服务端的数字证书。
下面,我们来看看xfire提供的例子:
_HOME>/examples/ws-security/keys/generateKeyPair.bat批处理文件:
rem @echo off
#接受参数
echo alias %1
echo keypass %2
echo keystoreName %3
echo KeyStorePass %4
echo keyName %5
①创建RSA密钥对
keytool -genkey -alias %1 -keypass %2 -keystore %3 -storepass %4-dname "cn=%1" -keyalg RSA
②使用私钥进行自签名
keytool -selfcert -alias %1 -keystore %3 -storepass %4 -keypass %2
③导出数字证书
keytool -export -alias %1 -file %5 -keystore %3 -storepass %4
_HOME>/examples/ws-security/keys/generateServerKey.bat文件:
①下面两行命名分别调用generateKeyPair.bat批处理文件为服务端和客户端生成密钥对
call generateKeyPair.bat server serverpass serverStore.jks storepass serverKey.rsa
call generateKeyPair.bat clientclientpassclientStore.jks storepass clientKey.rsa
②将服务端的数字证书导入客户端的密钥库
keytool -import -alias server -file serverKey.rsa -keystore clientStore.jks -storepass storepass -noprompt
③将客户端的数字证书导入服务端的密钥库
keytool -import -alias client -file clientKey.rsa -keystore serverStore.jks -storepass storepass -noprompt
运行该批处理文件后,将分别为服务端和客户端生成一个Java密钥库文件,它们分别拥有一个自己的密钥对和对方的数字证书。我们通过表1对两者密钥库文件的内容进行说明:
表1密钥库说明

服务端Java密钥库
客户端Java密钥库
对应密钥库文件
serverStore.jks
clientStore.jks
密钥库密码
storepass
storepass
库中包含的内容
server密钥对、client数字证书
client密钥对、server数字证书
密钥对别名
server
client
密钥对私钥的保护密码
serverpass
clientpass
将serverStore.jks和clientStore.jks拷贝到工程目录>/src/META-INF/xfire的目录下,以便后面的实例代码使用。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/3641/showart_506402.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP