`
sillycat
  • 浏览: 2542919 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

xfire的webservice安全机制之签名

    博客分类:
  • SOA
阅读更多
xfire的webservice安全机制之签名

服务端配置修改点:
applicationContext-webservice.xml文件:
<property name="inHandlers">
<list>
   <ref bean="domInHandler" />
   <ref bean="wss4jInHandlerSign"/> 
   <ref bean="validateUserTokenHandler" />
</list>
</property>

<bean id="wss4jInHandlerSign" class="org.codehaus.xfire.security.wss4j.WSS4JInHandler">
<property name="properties">
   <props>
    <prop key="action">Signature</prop>
    <prop key="signaturePropFile">
     insecurity_sign.properties
    </prop>
   </props>
</property>
</bean>

新增配置文件insecurity_sign.properties:

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=dv110.com
org.apache.ws.security.crypto.merlin.file=tianyi_public.jks

客户端配置文件:
只需要修改XFireClientFactory.java文件:
//签名
getSign(obj);

public void getSign(Object service){
   Client client = ((XFireProxy) Proxy.getInvocationHandler(service)).getClient();
   //挂上WSS4JOutHandler,提供认证
   client.addOutHandler(new DOMOutHandler());
   Properties properties = new Properties();

   properties.setProperty(WSHandlerConstants.ACTION, WSHandlerConstants.SIGNATURE);
   // User in keystore
   properties.setProperty(WSHandlerConstants.USER, "safedv");
   // This callback is used to specify password for given user for keystore
   properties.setProperty(WSHandlerConstants.PW_CALLBACK_CLASS, PasswordHandler.class.getName());
   // Configuration for accessing private key in keystore
   properties.setProperty(WSHandlerConstants.SIG_PROP_FILE, "outsecurity_sign.properties");
   properties.setProperty(WSHandlerConstants.SIG_KEY_ID, "IssuerSerial");

   client.addOutHandler(new WSS4JOutHandler(properties));
}

客户端增加配置文件,outsecurity_sign.properties
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=dv110.com
org.apache.ws.security.crypto.merlin.file=tianyi_private.jks

附录,生成签名的各个KEY,其实就是和ENC反过来操作,私匙签名,公匙解
1、通过别名和密码创建私密钥到keystore:
C:\>keytool -genkey -alias safedv -keypass safedv -keystore tianyi_private.jks -storepass dv110.com -dname "cn=dv110" -keyalg RSA

2、证书:
C:\>keytool -selfcert -alias safedv -keystore tianyi_private.jks -storepass dv110.com -keypass safedv
3、导出公钥到key.rsa:

C:\>keytool -export -alias safedv -file safedv.rsa -keystore tianyi_private.jks -storepass dv110.com

4、导入公钥到新的keystore中:
C:\>keytool -import -alias safedv -file safedv.rsa -keystore tianyi_public.jks -storepass dv110.com
分享到:
评论

相关推荐

    Xfire webservice 加密

    理解Xfire Webservice的加密机制可以帮助我们更好地理解现代Web服务安全,尤其是对于那些需要处理敏感用户数据的应用来说,这些都是至关重要的。通过对这些概念和技术的学习,开发者可以为他们的应用构建出更安全的...

    webservice教程(xfire+spring)

    这些阶段为开发者提供了丰富的扩展点,可以通过编写Handler实现各种自定义功能,如安全控制、消息加密、签名或压缩。 【POJO Bean导出为Web服务】 XFire的一大优势在于,它可以轻松地将普通的Java类(POJO Bean)...

    xfire访问webservice客户端用到的jar包

    XFire支持WS-Security,可以实现消息级的安全性,如数字签名和加密。这使得敏感数据在传输过程中得到保护,防止被窃取或篡改。 6. **与其他技术的集成** XFire与Spring框架的紧密集成使得它易于在企业级应用中...

    WebService之XFire和Jax实现身份验证

    【WebService之XFire和Jax实现身份验证】的知识点涵盖了Web服务开发中的安全性和认证机制。Web服务是一种基于互联网的软件应用,允许不同系统之间的数据交换。在Web服务中,确保服务的安全性至关重要,这就涉及到了...

    使用xfire框架搭建webService的一个demo

    总的来说,xfireDemo项目演示了如何在xfire框架下实现两种不同方式的身份验证机制,这对于理解Web服务的安全性和xfire的使用是非常有价值的。通过这个示例,开发者可以学习到如何在实际项目中应用这些技术,增强Web...

    WebService资料文件下载

    5. **安全与WSSecurity**:"XFire+WSSecurity.pdf"可能涵盖了WebService的安全性,特别是WSSecurity(Web Services Security)标准,它是用于保护SOAP消息的安全框架,包括数字签名、加密等功能。 6. **实战教程**...

    WebService详细解析(axis,xfire,cxf,授权认证加密解密)

    - WS-Security:提供SOAP消息级别的安全,包括数字签名、加密、消息完整性等。 - OAuth和OpenID Connect:用于第三方应用的授权认证。 总结: 本篇文章详细介绍了WebService的基本概念和AXIS、XFire、CXF这三个流行...

    使用cxf的webservice安全验证

    CXF实现了WS-Security,允许开发者添加数字签名、加密、时间戳等安全元素到SOAP消息中。 5. **Token-based认证**:OAuth、JWT(JSON Web Tokens)等令牌机制也是常见的安全策略。CXF可以与这些标准配合,实现基于...

    JAVA常用框架发布WebService

    在实现Web服务时,需要考虑安全性问题,例如使用SSL/TLS进行传输加密,实施WS-Security标准进行身份验证和消息完整性检查,以及使用数字签名防止篡改。 8. 性能优化: 优化Web服务的性能可以从多个方面入手,如...

    Webservice-CXF实用手册学习大全

    - 安全机制:包括用户认证、数字签名和混合验证等,确保WebService通信的安全性。 综上所述,WebService-CXF实用手册学习大全主要讲述了WebService的基础知识、Java中的相关规范、CXF框架的应用以及在开发过程中会...

    webservice 实例教程

    XFire可以生成客户端代理类,这个类提供了与服务端相同的方法签名,使得调用Web服务就像调用本地方法一样。客户端只需要提供服务的URL,XFire就会自动构建和发送SOAP请求,然后解析返回的结果。 在“Web service ...

    WebService之CXF开发指南

    ### WebService之CXF开发指南 #### 一、概述 WebService技术已经成为企业级应用中不可或缺的一部分,它使得不同系统之间能够以标准化的方式进行交互。在众多WebService框架中,Apache CXF因其灵活、强大的功能和...

    webservice客户端与服务器端的实现demo

    XFireWSS可能指的是XFire对WSS的支持,包括数字签名、加密、身份验证等安全机制。在XFire中,开发者可以通过配置或编程方式实现这些安全特性,如使用X509证书进行SSL/TLS加密,或者利用WS-Security标准添加SOAP头...

    精通Spring_2.x:企业应用开发详解(xfire部分).doc

    - **使用WS-Security**:通过配置XFire,可以实现对SOAP消息的身份认证、数字签名和数据加密,从而增强Web Service的安全性。 总之,《精通Spring_2.x:企业应用开发详解(xfire部分)》一书深入探讨了Web Service与...

    WebService.ppt

    WS-Security是Web Service安全的标准,它定义了如何在SOAP消息中添加安全性信息,如数字签名和加密,以确保消息的完整性和机密性。 【WS-*家族】 WS-Notification、WS-Transaction等是WS-*标准家族的一部分,它们...

    CXF WebService 视频和源码

    - **安全性**:了解CXF如何支持WS-Security,包括用户名令牌、数字签名和消息加密等安全机制。 通过这个资源包,学习者不仅可以掌握CXF的基本用法,还能了解到Web服务开发中的最佳实践,对于提升Java Web开发能力...

    webservice的cfx框架

    4. 安全性:CXF提供了多种安全机制,包括基本认证、 Digest认证、OAuth、SSL/TLS等。它还支持WS-Security(Web Services Security)标准,可以实现消息级别的安全性,如签名、加密和令牌验证。 5. 插件和扩展:CXF...

    Web Service详细解析及使用方法

    CXF支持多种绑定和传输机制,包括JAX-RS(Java API for RESTful Web Services)。 **服务安全性** 在Web Service中,安全性通常涉及认证、授权、加密和消息完整性。例如,WS-Security可以用来添加数字签名和加密,...

    cxf WebService

    9. **安全配置**:CXF支持各种安全模型,包括基本认证、数字签名、消息加密等。在实际项目中,需要根据业务需求设置合适的安全策略,防止未授权访问和数据泄露。 10. **持续学习与进阶**:理解并熟练掌握CXF ...

Global site tag (gtag.js) - Google Analytics