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包,在附件,也可下载,
相比官方的多了帮助及实例代码
若有问题,欢迎联系我!
分享到:
相关推荐
虽然它是JDK 1.6引入的新特性之一,但由于其独立性较强,因此可以通过第三方库如Apache XML Security Project等方式在较早版本的JDK(如JDK 1.4和JDK 1.5)中使用。 #### JSR105 Service Provider问题 在JDK 1.4和...
"说明.txt"可能是与bcprov-jdk16-1.46.jar相关的文档或说明文件,通常会包含如何在项目中使用该库、版本变更记录、已知问题及解决方案等信息。不过,具体内容需要实际查看该文本文件才能得知。 详细使用bcprov-jdk...
但为了兼容更高版本的Android系统,可能还需要使用Zipalign工具进行优化,以及对APK进行V2 (APK Signature Scheme v2) 或 V3 (APK Signature Scheme v3)签名。 使用`apksigner`进行V2/V3签名: ``` apksigner ...
使用xml格式配置签名密钥,可以配置多个签名密钥。 开放源码,无需担心恶意工具入侵你的Apk。 使用说明 运行环境 Windows系统 JDK1.8环境变量 1.下载源码编译运行 clone/下载代码到你的电脑,导入到IDEA中运行,编译...
- **XML Signature**:XML签名标准,用于确保XML数据的完整性和来源验证。 #### 六、示例代码分析 在实际开发过程中,编写有效的代码对于创建可靠的Web服务至关重要。下面是一个简单的示例,展示如何定义和实现一...
在这里,用户需要找到已经导入的证书,通常是在“个人”或“受信任的根证书颁发机构”类别下,选择“加签证书”(Digital Signature),而不是“加密证书”。 4. 点击“导出”按钮,开始导出过程。这个步骤是为了...
可以通过实现Interceptor接口并重写其方法来自定义拦截逻辑,还可以通过@Intercepts和@Signature注解来指定拦截器拦截的方法签名,这使得Mybatis的拦截器应用非常广泛。实际开发中,结合业务需求,我们可以在Mybatis...