问题标签 [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.
c# - 在 .Net 中使用 ECDsa 和 SHA256 签署 XML
我正在尝试在 .Net 中使用带有 ECDsa (ECDsaCng) 和 SHA256 的 SignedXml,我收到一条带有消息“无法创建签名密钥”的“CryptographicException”。有人知道如何实现这一目标,或者我是否应该知道有关 .net 对 ecdsa 的支持的相关信息?先感谢您。
“signedXml.ComputeSignature();”中出现错误 方法调用。
.net - 验证签名时 SignedXml 无法正常工作
这是 Microsoft使用SignedXml类验证签名的示例,由于在代码中将XmlNode转换为XmlElement,它对我不起作用(在 Visual Studio 2013 和 .NET 版本 4.0 中):
“不起作用”是指即使我删除了引用的文件(那些在签名 XML文件中的引用中引用的文件),它也没有抛出任何异常。这意味着它只是没有检查它们。
但是当我以这种方式初始化signedXml时:
它在找不到引用文件时抛出异常并在找到所有引用文件时返回“真实”值(因为签名是正确的)完美地工作。
这意味着在将 XmlNode 转换为 XmlElement 时会发生错误,即使(即使它确实返回了我需要的节点)。我什至尝试用 XmlWriter 编写它并得到了我需要的东西。
问题是我需要将XmlNode 转换为 XmlElement的方式,因为我正在使用的 XML 文件在树的下方有一个Signature元素(也就是说,它不是根节点),我需要使用SelectSingleNode或GetItemByTagName . 我该如何解决这个问题?
c# - 在 Compact Framework 中手动执行 SignedXml.CheckSignature
我正在为 .net CF 寻找 SignedXml.CheckSignature 的一些实现,但没有成功。如何手动执行此功能?我在具有完整 .net 框架的台式机上使用函数 SignedXml.ComputeSignature 签署了 XML 文件。我需要在 .net CF 中检查这个 XML 文件的签名。我尝试使用 RSACryptoServiceProvider.VerifyData 对照 SignatureValue 检查整个 SignedInfo 节点,但它不起作用。SignedInfo 是否需要一些规范化?
xml - 使用 PEM 证书在 Powershell 中验证 XML 签名
我正在尝试创建一个将使用 XML 文档中的数据的 powershell 脚本。但是,在做任何工作之前,我需要通过验证签名来验证 XML 未被篡改。
我有用于以 PEM 格式签署 XML 的证书的公钥副本,但我不知道如何让 powershell 使用该证书。
我已经开始让它工作的关闭是以下代码......
但是,当它运行时,我得到以下异常......
使用“2”参数调用“CheckSignature”的异常:“无法为提供的签名算法创建SignatureDescription。” 在 line:34 char:1 + $Check = $SignedXml.CheckSignature($CertPath, $true) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : CryptographicException
任何帮助,将不胜感激。谢谢!
.net - 您可以在 .net 中签署一个 Xml 文件,而私钥不在证书存储中吗?
我正在尝试编写一个应用程序,该应用程序将使用存储在数据库中的证书(公钥和私钥)对 xml 文件进行签名。
我遇到的问题是,每当我从文件(而不是从数据库)加载 pfx 文件时,并尝试使用以下方法计算 xml 的签名:
我得到以下异常:
我使用以下内容创建了 pfx:
只是为了进一步澄清这一点。它正在 ASP.NET 网站中使用,我无法将“加载用户配置文件”设置为 true。
c# - C# SignedXml CheckSignature 抛出 ArgumentNullException
我对 .NET 很陌生,我正在遵循这个MSDN 指南来验证 XML 文档中的签名。
我在第 7 步,在该对象CheckSignature
上调用该方法。SignedXml
我得到了一个ArgumentNullException
,但这不是由我编写的任何代码引起的。我知道指南中存在名称不匹配的问题,并且我已经在我的代码中更正了它们。
当我查看异常详细信息时,它说Param name
是name
并且它正在被传递到System.Security.Cryptography.CryptoConfig.CreateFromName
方法中。我已经阅读文档和堆栈溢出问题好几个小时了,我很困惑。
编辑:这是代码。我尝试使用 SAML 断言附带的证书。我仍然得到相同的结果。
c# - 如何在 C# 中为 Signature 元素添加前缀
我们正在使用 SignedXml 类对 xml 元素进行签名。要求是在 Ws Security 中添加签名节点以与服务通信。
我们可以对元素进行签名并对其进行验证。在这种情况下,xml示例代码如下
通过使用生成为 < 的此 Signature 元素signature> .... </signature>
。但我们想将其生成为 <ds:signature> .... </ds:signature>
尝试显式设置前缀,但之后未验证签名。
您能否指导我们如何实现这一目标?
java - SignedXml 检查签名返回 false。
我需要你的帮助。
因此,我在 java 上生成了带有 Xml 签名的文档,当我尝试在 C# 上进行验证时,我得到了false
. 然后我在 C# 上生成了带有签名的相同文档,没关系。返回true
。
这是我在 C# 中生成的 xml:
这是我在java中生成的xml:
我生成了这些文件十亿次,但是这个 C# 代码类似于从 C# 生成的文件,但是我有由 java 生成的问题文件:
System.Security.Cryptography.Xml.SignedXml 是如何工作的。为什么xml签名无效?请帮忙。
signedxml - 我可以签名,但无法使用自定义 SHA256 加密在 .NET 4.0 中验证 SignedXML 文档
长话短说,我可以很好地签署文件。但是每次验证它们都会返回错误。我浏览了 google 和 bing 的前 5 或 6 页寻找解决方案,但我发现的每一个“修复”都无济于事。任何帮助将不胜感激,因为我已经尝试解决这个问题一个多星期了。此外,这些证书的私钥不可导出,也不能。我不确定这是否重要。另外,我现在选择不包含 ValidateCertificate,因为它从来没有做到过那么远。它总是在 CheckSignature() 处失败。谢谢你。
这是我用来生成证书的内容:
makecert -a SHA256 -n "CN=JEA2.me" -pe -r -len 2048 -sy 24 -sky 签名 -sv jeame2.pvk jeame2.cer
certmgr /add jeame2.cer /s /r localmachine root
makecert -sk "jea2.me" -iv jeame2.pvk -n "CN=JEA2IIS.me" -eku 1.3.6.1.4.1.311.10.3.12 -pe -sy 24 -ss my -sr localmachine -len 2048 -sky 签名-ic Jeame2.cer IIS-ServerCert-Jeame2.cer
从这里我将它们直接安装到本地机器-> 受信任的根证书颁发机构
这是我的两个 XML 文件: 1.xml:
2.xml: