问题标签 [xml-encryption]

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 回答
611 浏览

java - XmlCipher:如何定义附加算法?

我必须使用特定算法(http://www.tta.or.kr/2001/04/xmlenc#seed-cbc)加密 xml 消息,并且我想使用 org.apache.xml.security.encryption。 XMLCipher 类(xmlsec 1.5.6)。

我尝试添加 bouncycastle 提供程序并尝试了几种方法来初始化 xmlCipher 类(getProviderInstance()、getProvider()...),但都失败了。

每次我收到警告:

和相应的例外:

使用 XmlCipher 时是否可以定义http://www.tta.or.kr/2001/04/xmlenc#seed-cbc ?

0 投票
0 回答
147 浏览

python - Python 中的 xmlenc 支持

我有一个用 Python 编写的基于 xml 消息传递的 API。现在需要支持 xmlenc ( https://www.w3.org/TR/xmlenc-core/ ),我在网上看到的关于如何解决问题的信息很少。
我的事业有希望吗?像任何图书馆一样?或者我应该去要求 Java 人员做一个外部的“解密解析器”(我宁愿不这样做)?我认为在 Java (Scala) 中它更容易。

0 投票
0 回答
194 浏览

ruby - ruby 中 SOAP 请求的 xml 加密

我需要从运行 Ruby 2.3.x 的 Rails 5 应用程序中使用第 3 方 SOAP Web 服务。SOAP Web 服务要求对所有请求/响应使用 XML 签名和 XML 加密。

似乎有足够的 ruby​​ gem 将 XML 签名添加到 SOAP 请求(例如 Savon 与 Akami gem)。但是,我找不到任何可以透明地处理 SOAP 请求的 XML 加密和 SOAP 响应的解密的东西。有一些 gem 可以在不同程度上使用 XML 加密。

xmlsec gem 是一个 nokogiri 扩展,声称支持 XML-Enc 和 XML-Sig,但 4 年没有更新。xmlenc gem 目前只支持解密。我发现使用加密 XML 实现规范的少数 gem,例如 ruby​​-saml gem,只需要处理解密并手动推出他们的解决方案。此外,需要注入 XML 文档的 XML-enc 元数据在 SOAP 和 SAML 之间有着本质的不同。

与 XML-Sig 一样,XML-Enc 规范比仅使用私钥加密 XML 元素的内容更为深远。有许多额外的元数据必须注入到 XML 文档中,这使实现复杂化并促进了文档交换。

在我花几天时间走在死胡同之前……我想知道是否有人能指出我正确的方向。

0 投票
1 回答
615 浏览

c# - 使用非对称密钥解密 XML 失败并在 .NET 中出现 InvalidCastException

使用 .NET 4.6 我尝试执行以下操作:

  • 从 PFX 文件加载解密密钥。
  • 使用上述文件中的私钥解密 XML 文档。

我的代码基于How to: Decrypt XML Elements with Asymmetric Keys from MSDN。

运行此代码时,我得到以下InvalidCastException方法抛出的内容GetDecryptionKey()

据我了解 MSDN 示例,此代码应从EncryptedKeyXML 中提取元素并使用 RSA 密钥解密密钥。

我在这里想念什么?

这是完整的堆栈跟踪:

这是加密的 XML:

0 投票
0 回答
630 浏览

encryption - 如何解密 XML 加密文档?

我必须解码一个 XML 加密文档。相关部分是:

Master_Key 是一个加密元素。aes256-cbc 用于加密。AES256 密钥是一个会话密钥,并在 XML 的开头定义:

它本身使用 rsa-1_5 加密,基于公钥,解密者必须拥有私钥。

我必须解密内容。虽然我知道私钥,但我目前不知道该怎么做。特别是我想知道为什么加密值

长度为 48 字节。不应该是 32 Bytes 的倍数,因为 AES256 使用 256bits=32bytes 的块长度。

我将不胜感激任何帮助...

0 投票
0 回答
554 浏览

c# - SamlTool Xml 解密 - 为什么不解密?

我有一个用 c# 和 Microsoft 的 EncryptedXml 例程加密的 xml 文件。来源是 SamlTool.com 示例响应。下面列出了加密版本,以及公钥和私钥。SamlTool 响应验证器(此处)只是说“解密数据失败”。我可以手动提取加密 xml 的各个部分并使用 c# 库正确解密它(但不是 EncryptedXml,因为它需要证书位于存储而不是文件中)。

我究竟做错了什么?我假设这是一个语法问题,但 SamlTool 模式验证器说没问题。我的下一个想法是在 xml 数据中没有设置一些默认值,这在 SamlTool 和 microsoft 之间是不同的,但我不知道它是什么。

加密的 XML

公钥

私钥

0 投票
1 回答
1143 浏览

c# - 从 XML c# 中解密签名值

我已经签署了一个 XML 文件以使用适当的证券发送,但不知何故,我发送的服务检测到该文件的签名无效(X.509 证书验证没问题)。我一直在寻找是否有可能,一旦我签署了特定的 XML,就可以检索 XML 签署的信息(如解密),以验证我是否使用正确的节点来签署 XML。谁能帮帮我?

Ps.:我仍然有公共和私人证书密钥。

这是我用来签署 XML 元素“infEvento”的代码,然后是 XML 元素。

这是 XML 元素:

感谢关注

0 投票
1 回答
351 浏览

saml - SAML 2 - openSAML - 签名和加密断言

我们是 IDP,我们使用 openSAML 3.2 库实现了 SAML 2。我们正在与我们的一个 SP 集成,如果我们签署断言并且在我们这边禁用加密,它就可以正常工作。如果我们启用加密,则它会失败并出现以下错误之一:

  1. 签名和加密断言 - 因无效数字签名而失败 (23)

  2. 加密断言并签署整个响应 - 因无效数字签名而失败 (23)

  3. 签署和加密断言并签署整个响应 - 因无效数字签名而失败 (23)

  4. 签名消息(未加密) - SAML 断言未签名 (20)

  5. 签名断言(不加密) - 成功

有没有人遇到过这个问题?任何指针将不胜感激。

0 投票
1 回答
174 浏览

c# - 使用 RijndaelManaged 密钥加密 XML 的问题

我正在尝试加密 XML 文档中的 XML 元素。

我遇到了这个 MSDN DOC,它展示了如何做到这一点的方法。

如果我在本文档中“按原样”使用代码,它就可以工作。但是,这个演示代码不适合我的场景,我需要保存加密的 XML 文件,然后在另一个时间加载它,然后解密它。所以,我已经修改了演示代码来做到这一点,但现在我得到了错误:

填充无效且无法移除。

我在 SO 上的其他帖子中看到,遇到类似错误的用户设置了该类的Padding属性。RijndaelManaged我尝试使用所有的PKCS7,ZerosNone,但我仍然得到错误。我应该提到,我Padding对加密和解密方法的密钥应用了相同的值。

我做错了什么,还是有其他方法?

以下是我修改后的代码(用于控制台应用程序)。请将文件路径分配给顶部的两个常量。

明文 XML 文件:

修改后的代码:

0 投票
1 回答
27 浏览

encryption - 从媒体特别是音频生成 xml 清单

我正在尝试在我的 dashjs 音乐流媒体应用程序中实现 DRM 和 EME,但后来我意识到要使用 dashjs,我需要有一个清单 xml 文件来处理分段..等等,所以有人知道如何自动生成清单甚至更好上传音频时在客户端生成它