问题标签 [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.

0 投票
3 回答
11570 浏览

xml - XML 数字签名的命令行工具

是否有用于 XML 数字签名的命令行工具?

我在这里找到了一个:http: //www.codeproject.com/KB/security/xmldsiglic.aspx 但它需要.NET Framework,我希望它在没有.NET 的情况下工作

0 投票
1 回答
2296 浏览

xml - 如何使用 Oracle 9i PL/SQL 对 XML 文档进行数字签名

假设我们有一个简单的 XML 文档 (doc.xml),如下所示:

和一个证书文件:test.p12

如何使用 Oracle 9i PL/SQL 制定解决方案,根据http://www.w3.org/2000/09/xmldsig#对 XML 文档进行数字签名

任何数字签名形式(例如 Enveloped)和方法(例如 RSAwithSHA1)示例都会很棒。

0 投票
1 回答
1437 浏览

cocoa - 如何在 Cocoa 中验证 XML 数字签名?

我有一个 C# 应用程序,它使用 XML 数字签名来签署许可证文件。我使用了此处描述的标准 Microsoft 方法。

我将应用程序移植到 MAC 并需要验证签名。我的一般问题是如何最好地做到这一点?

这就是我所做的:

  • 我使用 macport 来安装 Aleksey 的 xmlsec1 库。

  • 使用 Chilkat 库将我的 XML 公钥转换为 PEM 文件

    Chilkat.PublicKey pubKey = new Chilkat.PublicKey(); pubKey.LoadXml(publicKeyXml); pubKey.SaveOpenSslPemFile("publicKey.pem");

  • 编译并运行 alekseys 示例程序。请参阅 ( http://www.aleksey.com/xmlsec/api/xmlsec-verify-with-key.html ) 以验证 XML dsig。

结果:我的许可证文件无法验证。对 xmlSecDSigCtxVerify 的调用失败并显示 status=unknown。现在针对我的具体问题:下一步我能做什么?

杰夫

0 投票
2 回答
9441 浏览

wcf - 在 WCF 客户端中,如何将 SAML 2.0 断言添加到 SOAP 标头?

我正在尝试从下面的 soap 标头示例中添加 saml 2.0 断言节点 - 我在 .net 框架中遇到了samlassertion类型,但看起来它仅适用于 saml 1.1。

我已经研究了好几天,似乎无法在 WCF 中找到一种直接的方法。Web 服务在 Glassfish 上运行,并且是 soap 1.1,我尝试使用所有打包的 wcf 绑定,但无法让它们工作。我开始使用 MessageInspector,并写了一个,但后来意识到必须有更好的方法,WCF 确实提供了一些插入 saml 2.0 断言的方法。我在编写自定义绑定方面取得了最大的进展——我已经能够在soap 标头中获取时间戳和签名节点,但我一生都无法弄清楚 saml 断言。有任何想法吗?

0 投票
1 回答
1210 浏览

php - 使用 PHP 对远程证书进行 XML 签名验证

我正在开发一个项目,我需要针对位于删除服务器上的公钥验证 XML 文件(SAML 断言)中的嵌入式签名。

有人用 PHP 做过这个吗?

0 投票
4 回答
8302 浏览

c# - 如何在 C# 中使用 XmlDsigC14NTransform 类

我正在尝试通过使用System.Security.Cryptography.Xml.XMLDsigC14nTransformc# .net Framework 2.0 类来规范化 xml 节点。

该实例需要三种不同的输入类型,NodeList、Stream 和 XMLDocument。我尝试使用所有这些输入类型进行转换,但得到不同的结果。我真正想做的是规范化单个节点,但正如您在输出文件中看到的那样,输出不包含任何内部 xml.xml。

非常感谢有关规范化 XML 节点的正确方法的任何建议。最好的,

标志.xml

Child1.xml

文档.xml

ms.xml

ms2.xml

0 投票
1 回答
958 浏览

java - 如何使用分布式证书生成 Axis2 XML 签名

我有点问题。

我们有一个集中的接口引擎,它将与一个提供信息补充并允许向外部系统提交请求的 Web 服务通信。在我们必须将其与该提供商所需的安全性集成之前,所有这些都很好。

他们颁发通过智能卡(USB 密钥)分发的证书,最终用户必须使用这些证书让软件与所述系统(Web 服务)进行交互。他们坚持对最终用户的 USB 密钥上的证书进行(有时是多个)签名。当然,私钥是受密码保护的。

如何将最终处理所有这些的 Axis2 连接到最终用户计算机上的证书。

该系统主要是 Delphi 5 中遗留的胖客户端应用程序,接口引擎主要与数据库交互。现在我们已经成功地连接了一段代码,该代码通过一个简单的 TCP 套接字有效地将最终用户的站点连接到接口服务器。

----编辑----

我们在 CXF(我们从 Axis 更改)中使用定制的签名拦截器实现了解决方案,它将消息内容转发到签名代理,该代理会找到并连接在原始请求来自的用户交互会话上运行的正确签名服务。

我接受了 Eugene 的回答,因为即使我们没有使用他指定的组件,我们也确实按照他的建议的一般准则实施了解决方案。

由于 USB 令牌,签名必须在用户交互会话中完成,这是无可避免的事实。由于我们使用遗留系统以及需要让系统在共享环境(远程桌面服务器)中工作,因此施加了额外的限制。尽管 Web 服务框架或加密库可能不自然地支持它。

0 投票
1 回答
880 浏览

java - 如何在传出的 SOAP 消息上应用 XML 签名

我使用 cxf codegen 生成了存根和绑定。一切运行良好,但由于安全问题,服务器仍然拒绝该消息。基本上我有 3 层来处理所有这些都需要证书(我有)。

  1. 管道上的 SSL 加密
  2. 特定数据元素上的证书签名
  3. 有效负载数据上的证书 XML 签名。

为了给汤加点料,我无法完全控制实际的签名和证书。基本上我必须提取正确的数据,将其发送出去进行签名,并且我必须在交易中重新注入签名数据。

我有权访问的证书位于本地计算机的 Windows 证书存储中(SSL 和一些签名)

阅读该框架的文档似乎在很大程度上依赖于配置巫术魔法。不幸的是,我发现的大多数链接都花了很多时间详细解释如何生成证书,但对我们如何实际使用它们却相当吝啬。

使用 CXF 如何实现这一点?

如何访问正确的钩子以及使用什么代码可以在消息上注入签名?

谢谢

0 投票
1 回答
2347 浏览

c++ - 如何在没有 MSXML 5 的本地 C++ 中验证 XML 数字签名?

我正在考虑使用 XML dsig 进行基本应用许可。该应用程序是本机 Windows 代码(没有 .net)。我可以轻松地使用 .net 离线创建 dsig,但我想在本机 C++ 中验证它。从我目前发现的情况来看,MSXML V5 可以完成这项工作,但不能使用,而且 V6 删除了对 dsigs 的支持。

那么如何轻松验证由.net 代码在本机 C++ 中生成的 XML dsig?

0 投票
1 回答
3967 浏览

java - Java XML DSig 和 XPath

我正在使用 Java XML DSig api 对 XML 文档的一部分进行签名。我试图了解它是如何达到摘要值的。

我的文件是:

我的 xpath 表达式是:

我试图做的是:

  1. 调用 Java DSIG 库并查看生成的摘要的值。
  2. 使用 MessageDigest (SHA-1) 类来消化值“bar”。
  3. 验证来自 1 和 2 的摘要是否匹配。

当我这样做时,1 和 2 会产生不同的摘要值。要么我的 DSIG 代码完全错误,要么我不明白 DSIG 是如何工作的。有任何想法吗?

这是我的测试代码(对不起,它太长了......我应该回到 perl):