`
qdpurple
  • 浏览: 275633 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jdk1.5及以前版本使用xml signature 签名功能

阅读更多

 

   JSR 105 (Java XML Digital Signature API Specification) 规定了 XML 数字签名规范的标准 Java 实现接口,于 2005  6  24 日最终发布。随后,于 2006 年秋季发布的 Java SE 6 (产品代号 Mustang)  JSR105 纳入 Java 标准库中,为基于 Java 的上层应用提供标准的 XML 数字签名支持。从此,需要使用 XML 安全特性的 Java 项目有了来自 Java 核心平台的基础支持,再也不需要为选择合适的第三方产品而烦恼。

但现在由于实现项目好多使用的是jdk1.5或以前版本, 如何在jdk1.5中使用jdk1.6中的xml 签名功能呢?经过探索,终于成功.

由于JSR是一种规范,jdk1.6只是实现了此规范, 我们只需找到第三方工具就可以实现, 现在应用比较广泛的开源产品是 Apache XML Security 项目,只需在网上下载此项目的jar包放到configure path路径下,你会发现eclipse下所有表示红色的类都消失了,问题解决。

但在运行时会报此错: javax.xml.crypto.NoSuchMechanismException: Mechanism type DOM not available

指向此行:  XMLSignatureFactory fac = XMLSignatureFactory.getInstance("DOM");

这是只需该写代码为:

 

XMLSignatureFactory factory =     XMLSignatureFactory.getInstance

("DOM", new org.jcp.xml.dsig.internal.dom.XMLDSigRI());

在此运行,一切ok!

关于Apache XML Security jar包

1)apache官方下载地址:

http://santuario.apache.org/mirrors.cgi

2)本人上传的jar包,在附件,也可下载,

相比官方的多了帮助及实例代码

若有问题,欢迎联系我! 

0
0
分享到:
评论

相关推荐

    在jdk5中使用JSR105实现XML签名认证的解决方案

    虽然它是JDK 1.6引入的新特性之一,但由于其独立性较强,因此可以通过第三方库如Apache XML Security Project等方式在较早版本的JDK(如JDK 1.4和JDK 1.5)中使用。 #### JSR105 Service Provider问题 在JDK 1.4和...

    bcprov-jdk16-1.46.jar

    "说明.txt"可能是与bcprov-jdk16-1.46.jar相关的文档或说明文件,通常会包含如何在项目中使用该库、版本变更记录、已知问题及解决方案等信息。不过,具体内容需要实际查看该文本文件才能得知。 详细使用bcprov-jdk...

    apk 签名工具

    但为了兼容更高版本的Android系统,可能还需要使用Zipalign工具进行优化,以及对APK进行V2 (APK Signature Scheme v2) 或 V3 (APK Signature Scheme v3)签名。 使用`apksigner`进行V2/V3签名: ``` apksigner ...

    xmljava系统源码-SignatureTools::ferris_wheel:使用JavaFx编写的安卓Apk签名工具,方便快速进行v1&v2签名

    使用xml格式配置签名密钥,可以配置多个签名密钥。 开放源码,无需担心恶意工具入侵你的Apk。 使用说明 运行环境 Windows系统 JDK1.8环境变量 1.下载源码编译运行 clone/下载代码到你的电脑,导入到IDEA中运行,编译...

    axis web service

    - **XML Signature**:XML签名标准,用于确保XML数据的完整性和来源验证。 #### 六、示例代码分析 在实际开发过程中,编写有效的代码对于创建可靠的Web服务至关重要。下面是一个简单的示例,展示如何定义和实现一...

    PFX软证书(私钥证书)下载及导出方法(请务必交给商户技术部门处理)

    在这里,用户需要找到已经导入的证书,通常是在“个人”或“受信任的根证书颁发机构”类别下,选择“加签证书”(Digital Signature),而不是“加密证书”。 4. 点击“导出”按钮,开始导出过程。这个步骤是为了...

    Mybatis中拦截器的简单实现方法

    可以通过实现Interceptor接口并重写其方法来自定义拦截逻辑,还可以通过@Intercepts和@Signature注解来指定拦截器拦截的方法签名,这使得Mybatis的拦截器应用非常广泛。实际开发中,结合业务需求,我们可以在Mybatis...

Global site tag (gtag.js) - Google Analytics