快速业务通道

Java Web服务 - Axis2 WS-Security签名和加密 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
相应内容。要使用 JDK 附带的 keytool 程序实现替换,请打开控制台并输入以下命令代码(在这里将代码分解成多个行以适应页宽;您在输入时必须作为单一行输入):

keytool -genkey -alias serverkey -keypass serverpass -keyalg RSA -sigalg SHA1withRSA    -keystore server.keystore -storepass nosecret

上面的命令生成了别名为 serverkey 的服务器密匙和证书,保存在名为 server.keystore 的新 keystore 中。(如果在此目录中已经有一个 server.keystore,那么首先需要删除使用该别名的现有密匙对)。keytool 提示了许多用于生成认证的信息项(这些信息都不会影响测试使用)并要求您确认这些信息。通过输入 yes 确认后,keytool 将使用私有密匙和证书创建 keystore,随后退出该程序。

接下来,再次运行这个程序来生成客户机密匙对和 keystore,这一次使用以下的命令(以单行形式输入):

keytool -genkey -alias clientkey -keypass clientpass -keyalg RSA -sigalg SHA1withRSA    -keystore client.keystore -storepass nosecret

下一步是从服务器 storekey 导出证书,并将证书导入到客户机 keystore。要执行导出,使用下面的命令(为适应页面宽度而进行了分解;您必须以单行形式输入):

keytool -export -alias serverkey -keystore server.keystore -storepass nosecret    -file servercert.cer

导出创建了一个名为 servercert.cer 的证书文件,您可以将它导入到客户机 keystore 中,使用以下命令(以单行形式输入):

keytool -import -alias serverkey -keystore client.keystore -storepass nosecret    -file servercert.cer

运行导入命令时,keytool 输出了证书的细节并询问您是否信任该证书。当您通过输入 yes 接受密匙后,它将把证书添加到 keystore 并退出。

对于最后一步,导出客户机证书并将其导入到服务器 server keystore,输入以下命令(以单行形式输入):

keytool -export -alias clientkey -keystore client.keystore -storepass nosecret    -file clientcert.cer

然后运行以下命令(为适应页面宽度而分行;您必须以单行形式输入):

keytool -import -alias clientkey -keystore server.keystore -storepass nosecret    -file clientcert.cer 为什么要导出/导入两种证书?

文本要求您为双方导出一个证书,然后将证书导入到另一方的 keystore。如果您使用了加密,那么需要为服务器证书执行这一操作,即使证书是由权威机构签名,因为加密需要访问另一方的公开密匙。另一方面,对于客户机证书,只需要将证书导入服务器 keystore,因为证书是自签名的并且无法通过其他方式验证。通过将证书导入到 keystore,您已经实现对其进行了确认,因此不需要再通过权威机构进行检验。

可以采用相同的办法处理多个使用自签名证书的客户机,只需要将每个客户机的证书导入到服务器 keystore。作为一种替代选择,与使用自签名证书不同的是,可以运行您自己的证书机构(使用 OpenSSL 之类的工具)并要求每个客户机获得由该机构签名的证书。通过这个方式,您可以向服务器 keystore 添加证书机构,并且任何具有由该机构签名的证书的客户机将被接受。或者通过支付费用来使用由权威机构签名的官方证书。

要利用新的密匙和证书,在运行客户机构建之前,必须将 client.keystore 文件复制到示例代码的 client/src 目录(或者只需将其复制到 client/bin 目录以立即生效),并在运行服务器构建之前将 server.keystore 文件复制到示例代码的 server/src 目录。

本节中的样例 keytool 命令使用了与附带的示例代码相同的文件名和密码。当您生成自己的密匙和

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号