微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

WebService 采用SSL/HTTPS协议来传输

WebService 是基于SOAP协议传输的,SOAP是以XML文件形式进行信息传输,是明文,这是不安全的,所以我们可以在WebService加上SSL/HTTPS协议来进行数据传输基于Axis的WebService可以很好的实现,在这里我们使用tomcat服务器使用JDK自带的工具创建密匙库和信任库。

1)通过使用以下的命令来创建服务器端的密匙库:
keytool -genkey -alias Server -keystore server.keystore -keyalg SA
输入keystore密码: strongit
您的名字与姓氏是什么?
[UnkNown]: Server
您的组织单位名称是什么?
[UnkNown]: ec
您的组织名称是什么?
[UnkNown]: ec
您所在的城市或区域名称是什么?
[UnkNown]: nanchang
您所在的州或省份名称是什么?
[UnkNown]: jiangxi
该单位的两字母国家代码是什么
[UnkNown]: CN
CN=Server,OU=ec,O=ec,L=beijing,ST=beijing,C=CN 正确吗?
[否]: y

输入的主密码
(如果和 keystore 密码相同,按回车):
以上命令执行完成后,将获得一个名为server.keystore的密匙库。

2)生成客户端的信任库。首先输出RSA证书:
keytool -export -alias Server -file test_axis.cer -storepass strongit-keystore server.keystore

然后把RSA证书输入到一个新的信任库文件中。这个信任库被客户端使用,被用来验证服务器端的身份。
keytool -import -file test_axis.cer -storepass changeit -keystore client.truststore -alias serverkey -noprompt
以上命令执行完成后,将获得一个名为client.truststore的信任库。
3)同理生成客户端的密匙库client.keystore和服务器端的信任库server.truststore.方便起见给出.bat文件gen-cer-store.bat内容如下:set SERVER_DN="CN=Server,L=nanchang,S=jiangxi,C=CN"set CLIENT_DN="CN=Client,C=CN"set KS_PASS=-storepass strongitset KEYINFO=-keyalg RSAkeytool -genkey -alias Server -dname %sERVER_DN% %KS_PASS% -keystore server.keystore %KEYINFO% -keypass strongitkeytool -export -alias Server -file test_axis.cer %KS_PASS% -keystore server.keystorekeytool -import -file test_axis.cer %KS_PASS% -keystore client.truststore -alias serverkey -nopromptkeytool -genkey -alias Client -dname %CLIENT_DN% %KS_PASS% -keystore client.keystore %KEYINFO% -keypass strongitkeytool -export -alias Client -file test_axis.cer %KS_PASS% -keystore client.keystorekeytool -import -file test_axis.cer %KS_PASS% -keystore server.truststore -alias clientkey -noprompt好的,现在我们就有了四个文件:server.keystore,server.truststore,client.keystore,client.truststore更改Tomcat的配置文件(server.xml),增加以下部署描述符:(其实里面有,只是被注释掉了)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐