问题标签 [signedxml]

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 投票
1 回答
1453 浏览

key - 使用公钥示例签署 XML?

我正在努力实施 SAML 服务。因此,我认为身份提供者应该使用服务提供者的公钥对 SAML 断言进行数字签名,然后再将断言发送给服务提供者(服务提供者使用他们的私钥进行验证)。但是,我很难找到任何使用 SignXML 对象(在 C# 中)使用公钥进行签名的示例。所有示例都使用私钥进行签名。

任何示例或建议将不胜感激。

0 投票
6 回答
3543 浏览

xml - 对 XML 文档的各个部分进行数字签名

我有一个类似于以下结构的 XML 文档

我想对 header 和 message 元素进行数字签名,并将签名添加到 footer 元素。

如何签署元素,然后验证签名(使用 .net c#)?

0 投票
1 回答
5691 浏览

c# - SignedXml 生成无效签名

我一直在尝试让 .NET 中的 XMLDSIG 支持正常运行,更具体地说是 SignedXml 类。我正在实施第三方服务,他们最近才开始要求所有消息都必须进行数字签名......

我的问题是,我似乎无法生成有效的签名。第三方服务和我发现的在线签名验证器都将签名报告为无效。验证服务 ( http://www.aleksey.com/xmlsec/xmldsig-verifier.html ) 报告摘要和数据之间存在不匹配,到目前为止我无法弄清楚我在做什么错误的。

这是相关代码-希望有人能够发现我的错误;

0 投票
2 回答
2724 浏览

c# - 是否可以在不使用 KeyContainerName 的情况下签署 xml 文档?

我想创建 2 个非常简单的 dll:

1) 将签署 xml 文档 2) 将检查 xml 文档是否被修改。

我尝试使用 RSACryptoServiceProvider 和密钥容器。但是当我移动到另一台机器时,这不起作用,因为密钥存储在机器中。

我想将密钥存储在我正在创建的 dll 中(我知道这不是推荐的),但我无法弄清楚如何编写一些代码来简单地签署一个 xml 文档,然后验证它是否没有被更改。

那么我需要使用对称密钥来做我想做的事吗?

皮特

0 投票
3 回答
2823 浏览

c# - 如何使 XMLDocument 不在自闭合标签上放置空格?

我有一个格式良好的 XML,没有任何空格。一定是这样的。

当我将它加载到 XMLDocument 以进行签名时,自闭合标签会获得一个额外的空格,并且

变成:

一旦必须签署此文件,就不可能删除空白。

PreserveWhiteSpace 属性对结果没有任何影响。

我怎样才能改变这种行为?

0 投票
1 回答
11131 浏览

c# - SignedXml 的自定义命名空间问题

当我签署包含命名空间前缀和命名空间引用的 XML 文档然后对其进行验证时,就会出现问题。在这种情况下,验证总是失败(返回 false)。当我从 XML 中删除命名空间前缀和命名空间引用时,签名和验证工作正常。

你可以帮帮我吗 ?

这是我的代码:

从 SignedXml 继承的类

签署xml的类

在这里我调用签名方法

并用于验证

这是我签名的xml

预先感谢您!

0 投票
2 回答
2865 浏览

c# - 如何针对机器存储验证 SignedXml 中的证书

我想SignedXml根据机器商店中的证书验证签名。此代码用于验证签名:

签名验证正常,但仅针对自身,而不针对机器上安装的证书。有没有办法根据本地证书存储中的根证书检查它?

0 投票
1 回答
807 浏览

.net - .NET 不支持非标准 XMLDSIG 签名元素名称

我正在尝试实现需要封装 XML 数字签名 (XMLDSIG) 的行业规范。我的规范不符合示例 ( <Signature>),而是使用自己的名称作为签名元素:

因此,该元素未命名为“Signature”,并且位于域的 XML 命名空间而不是 dsig XML 命名空间中。

通过大量额外的工作,我可以在 .NET 中创建这个自定义签名。

  1. 我使用 .NET SignedXml 类创建 <dsig:Signature> 元素
  2. 我操作 DOM 以删除 <dsig:Signature> 并将元素重新创建为 <myns:ensembleSignature>。

但似乎 .NET 无法验证传入的 <myns:ensembleSignature>,即使我将传入元素重命名回 <dsig:Signature>。

我已经多次阅读过 XMLDSIG 规范,尽管他们的所有示例都使用 <Signature> 它似乎并不特别需要这个元素名称,即使对于封装转换也是如此。那么这是 SignedXml 中的一个错误,即当 XMLDSIG 规范中没有这样的要求时,它只支持这个单个元素名称?

0 投票
3 回答
5021 浏览

xml - 生成带有“ds”前缀的xml签名

我已经用 signedxml 生成了一个 xml 签名,并且验证效果很好。我的签名xml如下

但我需要生成带有“ds:”前缀的 xml 签名。

我在stackoverflow中找不到关于这个问题的解决方案。

如何获取带前缀的xml签名?是否可以使用signedxml(System.Security.Cryptography.Xml)库,,

或者有没有我可以生成的库?

谢谢你的建议。。

0 投票
1 回答
3340 浏览

xml - 生成带有“ds”前缀的 XADES-BES

我使用signedxml 类来生成xml 签名。结果xml如下;

我需要生成 XADES-BES xml 格式,这就是我想将前缀“ds:”添加到signedxml。

没有“ds”,我的签名验证工作正常,如您所知,它的格式是 XMLDSIG,

当我想生成 XADES-BES 时,我们必须为所有签名和子元素添加“ds”前缀,如下所示;

如果您在签名后添加该前缀,则它不起作用。

所以,我已经阅读了所有关于这方面的问题,并且没有任何问题,,

我真的需要带有“ds”前缀的xmlsignature。

有没有人帮我解答这个问题???

谢谢。