1、首先通过脚本dragon.bat生成需要的密钥文件:
[code]
@echo off
if "%JAVA_HOME%" == "" goto error
@echo on
@echo off
cls
REM (1.注释:指定使用RSA算法,生成别名为ws_security的证书,产生一个新的公共/私有钥匙对)
keytool -genkey -keyalg RSA -alias guosy -dname "cn=localhost" -validity 180 -keystore privatestore.jks -storepass dragon -
keypass dragon2
REM (2.注释:自签名证书,好玩不要也正常)
keytool -selfcert -alias guosy -keystore privatestore.jks -dname "CN=liaowu, OU=org, O=org, L=area, ST=state, C=cn" -
storepass dragon -keypass dragon2
REM (3.注释:导出别名为ws_security证书的公钥到key.crt(将包含上一步自签名的信息),包含证书主体的信息及证书的公钥,不包括私
钥,可以公开)
keytool -export -alias guosy -file key.crt -keystore privatestore.jks -storepass dragon
REM (4.注释:生成公钥)
keytool -import -alias guosy -file key.crt -keystore publicstore.jks -storepass dragon
pause
:error
echo 请先设置JAVA_HOME环境变量
:end
[/code]
共生成3个文件,我们暂时使用两个文件:privatestore.jks(服务器端)、publicstore.jks(客户端)
这个两个文件在之前的配置文件中已经配置过,把文件放在对应的位置上;另外服务器端和客户端各需要一个配置文件:
服务器的配置文件:insecurity_enc.properties
[code]
org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
org.apache.ws.security.crypto.merlin.keystore.type=jks
org.apache.ws.security.crypto.merlin.keystore.password=dragon
org.apache.ws.security.crypto.merlin.alias.password=dragon2
org.apache.ws.security.crypto.merlin.keystore.alias=guosy
org.apache.ws.security.crypto.merlin.file=jks/server/privatestore.jks
[/code]
客户端配置文件:outsecurity_enc.properties
[code]
org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
org.apache.ws.security.crypto.merlin.keystore.type=jks
org.apache.ws.security.crypto.merlin.keystore.password=dragon
org.apache.ws.security.crypto.merlin.alias.password=dragon2
org.apache.ws.security.crypto.merlin.keystore.alias=guosy
org.apache.ws.security.crypto.merlin.file=jks/client/publicstore.jks
[/code]
注意:很多的教程获取只给出以上的代码就完成了,完全不会管你按照教程做了以后能不能运行成功,所以我现在给出终极的注意事项,因为没有完成这些事的话,根本就不能运行,我之前在csdn下了个实例,擦,下了以后根本运行不了,放在myecilpse里都报错!上我的心啊,还要了我十分,悲剧!注意事项放下页吧,这页东西太多了。