wangfeng

SOA之家
构客网首页  博客  论坛

 
  SOA我有话说
  本文的标签
其他 (收录20526篇)技术 (收录3466篇)生活 (收录3115篇)
  用户信息
 
帐号:  新手必读
密码: 保存密码
 
  分类列表
全部类别(22 篇)
我的文章(21 篇)
  按月归档
2007年-09月(14 篇)
2007年-12月(3 篇)
2008年-04月(2 篇)
2008年-10月(3 篇)
  SOA2007 - SOA实践
我们何时迈向SOA
——SOA在中国的整体发展现状究竟如何?
我们如何迈向SOA
——中国企业如何迈出实施SOA的第一步?
我们应采用何种技术
——SOA国际标准SCA/SDO的具体内涵?
我们还需要何种技能
——SOA将如何改变系统架构设计以及项目管理过程?

调用WS Policy时找不到加密算法的解决方案

发布时间:2008年12月01日 作者:wangfeng

阅读次数:906次 类别:我的文章 永久链接 Trackback 
参加SOA我有话说

在调用Confidentiality Policy时,如果用到了X509证书并对传递的数据进行加密处理,会报找不到加密算法的异常,信息如下:
 

WSHandler: Encryption: error during message processingorg.apache.ws.security.WSSecurityException: An unsupported signature or encryption algorithm was used (unsupported key transport encryption algorithm: No such algorithm: http://www.w3.org/2001/04/xmlenc#rsa-1_5)

原因分析

JDK所带的JRE默认引入的是受限的Java Cryptography Extension(JCE)策略文件,相关jar文件对应的路径为:

<jre-home>/lib/security/local_policy.jar
<jre-home>/lib/security/US_export_policy.jar

针对不同的国家,对于JCE策略有不同的限制,在SUN网站 http://java.sun.com/javase/downloads/index.jsp#docs最底下上有详细的说明。
 

处理策略

1、可以下载无限制的版本并利用其对以上的两个Jar进行替换以满足要求,不过现在好像仅提供1.6版本的下载了。
 
2、重新选择JCE的实现,并作为provider添加
    下载bouncycastle.jar (http://www.bouncycastle.org/latest_releases.html),,放到<jre_home>/lib/ext 目录下
     添加security.provider,在<jre_home>/lib/security/java.security 文件进行修改添加
         security.provider.7=org.bouncycastle.jce.provider.BouncyCastleProvider
 
3、把下载的bouncycastle.jar放到工程的classpath当中。


 评论 查看全部评论