问题标签 [c14n]

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.

0 投票
0 回答
112 浏览

php - 错误的 DigestValue:“哈希值不匹配”XML 与 PHP

我正在尝试签署一个 XML 文件,并且在我提出的所有请求中都收到错误“哈希值不匹配”。

这是我的 XML

这是在 SoapUI oyEmssDWuGqQejZ4krpKmv2/KJc=中计算的 DigestValu=但是在 PHP 中计算的值是BzmNrO3Pdl1R6I1MWHw/QG5cn08=

我的规范化 Body 元素 (c14n) 如下所示:

DigestValue 在 PHP 中计算如下:

请告诉我我做错了什么,我需要帮助我还没有设法在 SoapUI 中获得生成的值。

0 投票
1 回答
35 浏览

c# - C# 中的 XmlStar 用法

我正在尝试规范化一些 xml 文档。如我所见,可以通过执行 CMD 命令使用 XmlStar 来实现

我的问题是使用 XmlDsigC14NTransform 类但没有 RSA 签名的 C# 是否可以实现相同的结果,如果可以,如何?

0 投票
0 回答
52 浏览

php - XML 摘要值的问题(丹麦卫生数据管理局)

我想创建一些必须包含摘要值的 XML,即规范(C14N)形式的一些 XML 的 BASE64 编码哈希值,但接收方不接受我的代码计算的值,也不接受根据完成后的 XML到(错误的)文档(并且计算与预期值匹配) - 除非我做了一个对我没有意义的肮脏黑客。

幸运的是,我可以访问现有系统,它允许我比较接收者的期望,在那里我可以看到我的计算给出了另一个结果,而不是当我的代码创建与现有系统相同的 XML 时计算的现有系统,但我意识到(阅读后(错误的)文档)XML应该有一些额外的命名空间属性——突然我的代码计算出了正确的摘要值!?!

即,我可以通过两次创建 XML 来计算正确的摘要值!一个带有不正确的 XML(如(错误)文档中所述)并存储计算值,然后存储第二个版本,其中代码从第一次传递中插入计算值。

这会为任何人敲响警钟吗?有人在丹麦健康数据管理局工作吗?

我有以下辅助功能:

和代码的摘录看起来像这样

0 投票
0 回答
34 浏览

java - Java c14N Canonicaliser - 属性名称顺序错误

Java c14n Canonicalizer 正在切换规范化 XML 断言的属性顺序。

规范化器在规范化后输出以下字符串:

<saml:Assertion ID="_llhn27aoVN60ug" IssueInstant="2021-11-26T22:10:37.067073Z" Version="2.0" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion

但是,根据规范化程序文档, xmlns:saml 属性应位于 SAML: Assertion ID 属性之前。

属性排序的这种变化阻碍了摘要值的准确计算。

我正在使用以下规范化程序:

org.apache.xml.security.c14n.Canonicalizer

有没有人知道如何解决这个问题?