问题标签 [xml-signature]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何从 XMLSignature 获取证书链(根证书和中间证书)
嗨,我刚刚从符合 xmldsig w3c 建议的 xml 构造了一个 org.apache.xml.security.signature.XMLSignature,我可以看到 xml 包含所有证书链
元素,但使用 XMLSignature API 我可以看到我只能访问用户证书和颁发者证书,而不是完整的链,有没有一种直接的方法可以通过 xmlsec API 完成这项工作?
java - JSR-105 引用签名输出
我正在研究 W3C 小部件规范。我对 JSR-105 功能有疑问。
谁能告诉我如何引用 XMLObject?
我认为我可以newXXX
使用XMLSignatureFactory
. 但我想不出为此制作Reference
对象的方法。因为我找不到NodeSetData
为XMLObject
实例制作 a 的方法。
我目前的解决方案是...
- 制作一个
org.w3c.dom.Document
包含该Object
元素及其子元素的元素。 - 并为元素
URIDereferencer
返回 aNodeSetData
。
这是最好的方法吗?有没有首选的方法?
xml - 具有包容性规范化的 XML 数字签名
我正在尝试实现 XML 数字签名的例程,并且能够正确计算要签名的信息的哈希值。但是,我面临签名本身的问题,因为我无法创建要签名的真实字符串。
现在我有这个:
仅使用 CR 而不是 CRLF。没有用于缩进的空格(帖子显示标签之间有空格的地方,有一个 CR)
计算有效签名的任何建议?
PD 我已将规范化算法更改为 EXCLUSIVE 并且它可以工作,但要求是使用 INCLUSIVE。
提前非常感谢。
xml - XMLDSIG DigestMethod 元素的内容是什么?
XMLDSIG-CORE 规范定义了参考中的 DigestMethod 元素。DigestMethod 指定应该应用于引用文档以获得 DigestValue 的算法。
我不明白的是,为什么这个 DigestMethod 的内容有这个(在 XML 模式中):
这个内容有什么意义,如果我收到它应该如何解释它?
c# - 如何签署 xml 文档(xmldsig),将签名附加到签名元素(!)并保持有效(C# ok,java not)
我必须签署一个 XML 文档并将一个 XML 签名附加到正在签名的同一元素中。C# 验证器对自己的结果很满意,但在线 Java 验证器报告失败 (https://demo.bloombase.com/demo/spitfire/soa/verify.jsp)
我需要将签名插入此节点: /msg:Envelope/msg:EnvelopeBody/cus:Message/cus:MessageFooter
并签署整个 /msg:Envelope/msg:EnvelopeBody/cus:Message (使用 ID 属性定位)
这是我的代码(第二部分验证 xml 文档并返回真 - 有效)
Java 验证器报告“无效”。
我一定遗漏了一些东西,但是什么:-/
感谢您的任何提示。
未签名的xml:
另外,SignedXmlCustomIds 用于定位 ID 元素:
c# - 如何从证书存储中获取 X509Certificate 并生成 xml 签名数据?
如何从证书存储中获取 X509Certificate,然后在 .net C# 中生成 XML SignatureData?
xml - 是否有任何理由使用 CAdES 而不是 XAdES 进行高级电子签名?
我找不到任何理由说明为什么有人更愿意实施面向 CAdES 的电子签名软件解决方案而不是面向 XAdES 的电子签名软件解决方案。
互联网上有很多 XAdES 的开放库和实施案例和示例,但我仍然认为这不是人们决定使用 XAdES 而不是 CAdES 的原因。
是因为 XAdES 是面向 XML 的,而软件开发人员往往喜欢任何与 XML 相关的东西吗?在任何情况下,CAdES 是完全优于 XAdES 的最佳选择吗?
以供参考:
- CAdES 是高级形式的 CMS/PKCS#7(支持时间戳)
- XAdES 是高级形式的 XML-DSig(支持时间戳)
java - 如何让 Java 应用程序接受 WS-Security 证书
因此,我已经在 WS-Security 上苦苦挣扎了一段时间,慢慢取得了进展。首先让我简要介绍一下我的设置。我有一个在 tomcat 中运行的 Java 应用程序,它提供了一个 web 服务端点(使用 Spring)。我希望对传入的消息进行签名。我正在使用 SoapUI 进行测试。因此,经过长时间的努力,我得到了服务器来检查传入消息的签名,我还得到了 SoapUI,用于对传出的消息进行签名。但是,服务器一直拒绝证书,我不确定我在哪里做错了,即我是否在测试请求中发送了错误的证书信息,或者我没有正确维护信任库中的证书。下面是一个请求示例:
现在,当我从我的信任库(证书的 base64 编码版本)导出证书时,我拥有的内容与我得到的内容相同。我发送请求时收到的错误如下:
我错过了什么吗?有什么大不了的?还是小?这是我实际上应该作为 KeyIdentifier 发送的吗?任何帮助将不胜感激!
java - 开源 XPath 过滤器 2.0 实现
有谁知道XPath Filter 2.0的开源实现,最好是在 Java 中?但任何其他语言也可以。标准不是那么新,所以应该存在一些东西,但我找不到任何东西......
如果真的没有足够的东西,有没有人实现过它并且可以告诉我用标准方法(DOM 模型加 XPath)实现它有多困难?只是一个粗略的估计,两个全职工作的人需要几天还是几周的时间?
java - 将 org.dom4j.Document 转换为 org.w3c.dom.Document 和 XML 签名的问题
我有一些类已经使用DOM4J来读取 XML 文件并为数据提供 getter 方法。现在,我需要添加检查 XML 数字签名的可能性。
使用 org.w3c.dom 并遵循http://java.sun.com/developer/technicalArticles/xml/dig_signature_api/ 一切正常。
所以,我尝试使用 DOMWriter 将 org.dom4j.Document 转换为 org.w3c.dom.Document,但在此之后签名验证不起作用。我认为这是因为 DOMWiter 正在更改 XML 树(如 doc4.asXML() 似乎显示的那样)。
我试图找到一些东西来设置以保持文档的完整性,但是 DOMWriter 没有这样的方法。
下面是演示非对称转换的代码。
用于测试的文件是http://www.robertodiasduarte.com.br/files/nfe/131090007910044_v1.10-procNFe.xml
有人知道原因/解决方法吗?
谢谢(对不起我糟糕的英语)。
例如,如果原始 XML 以:
doc4.asXML() 返回: