参考本例前,请先阅读下面的2篇资料:
http://blog.csdn.net/kunshan_shenbin/archive/2008/12/26/3613918.aspx
http://blog.csdn.net/kunshan_shenbin/archive/2008/12/27/3621990.aspx
我们使用Apache WSS4J这个WS-Security的开源实现,相关内容请参阅:
WSS4J支持如下几种模式:
XML Security
XML Signature
XML Encryption
Tokens
Username Tokens
Timestamps
SAML Tokens
这里将使用Timestamps+Encryption+Signature组合。
首先需要生成服务端及客户端密钥文件:
generateKeyPair.bat
generateServerKey.bat
执行generateServerKey.bat批处理,生成clientStore.jks及serverStore.jks文件。
生成的密钥文件中包含的信息:
服务端 账户:apmserver / apmserverpass
客户端 账户:apmclient / apmclientpass
如下图所示建立工程:
所使用到的Jar包一览
PasswordHandler.java
SayHiSrvcImpl.java
SayHiSrvc.java
server_insecurity_enc.properties
server_insecurity_sign.properties
server_outsecurity_enc.properties
SayHiServiceTest.java
applicationContext.xml
insecurity_enc.properties
outsecurity_enc.properties
outsecurity_sign.properties
serverhost.properties
cxf-config.xml
web.xml