问题标签 [xmlsec]

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

python - 为什么我不能解密这个 xmlsec 加密的 WSSE 增强的肥皂消息?

我使用了 PIP 中的 py-wsse,但它似乎坏了。我已对其进行了重构/修复

  1. 添加 X509 标准:带有签名的签名块,以及通过证书使用公钥/私钥
  2. 在添加了我无法使用的 WSSE 组件后,我能够使用普通的旧 XMLSEC 对其进行加密/解密。

  3. 底层导入是 xmlsec (1.35) 和 OpenSSL。加密/解密由 xmlsec 执行,密钥/证书生成由 openssl 完成。使用这些证书/密钥文件进行签名由 xmlsec 完成。

  4. 我对 xmlsec 签名文档进行预处理/后处理以创建 wsse 文档。同样,当我解密时,我处理文档以将密钥信息移回 EncryptedData 块

这是我的签名和加密文档,据我所知,除了一些附加标签之外,加密数据块看起来与我的普通 XMLSEC 文档相同。这无法解密。

这是“vanilla XMLSEC”签名和加密的文档,可以解密:

0 投票
1 回答
240 浏览

java - xmlsec 2.0.4:无法解决方法 setSignatureSpecNSprefix

我从 xmlsec 1.2.0 更新到 2.0.4,因为我正在从 Java 7 迁移到 Java 8。

现在,我遇到的问题是该方法setSignatureSpecNSprefix已从org.apache.xml.security.utils.Constants.

我找不到任何文档告诉我如何替换它或如何绕过它。

我已经在邮件列表和 Apache 的 JIRA 中询问过,但到目前为止还没有运气。

在我的代码中,我曾经这样做:

感谢您提供任何帮助。

0 投票
1 回答
341 浏览

python - 无法使用命名引用 URI 签署 xmlsec

我尝试使用 python-xmlsec 从模板签署 xml 文档。如果 URI="",它可以正常工作。但是,如果 URI 不为空,则会出现错误“无法签名”

python 3.6 xmlsec 来自https://github.com/mehcode/python-xmlsec

0 投票
1 回答
83 浏览

tizen - Tizen:GBS,使用 gbs 构建 tizen 时初始化加密库 (xmlsec) 时出错

当尝试使用 gbs 为 tizen 项目构建(生成 rpms)时,我设置了 gbs,安装了 mic 并使用适当的配置文件、repos 和 url 设置了 .gbs.conf 文件。

当我尝试使用为目标架构(armv7l)构建时

当它尝试对临时文件夹中的构建进行签名时,它会尝试生成作者签名和分发者签名,但失败并显示[542s] 错误:xmlsec 加密初始化失败。以下是日志。

0 投票
1 回答
721 浏览

python - 使用 python 3.4 在 linux 服务器中安装 xmlsec 时出错

xmlsec今天开始在 linux 服务器中安装时看到此错误。我看到部分错误说This lxml version requires Python 2.7, 3.5 or later.,但我找不到任何有关此库删除的 python v3.4 的文档或如何处理此问题。帮助我让它再次工作,而无需升级 python 3.5。提前致谢。

0 投票
1 回答
1321 浏览

java - 关于 santuario (Java) 的示例或教程?

我需要对 XML 进行加密,而 Santuario 看起来是执行此操作的工具。问题是,我不知道如何开始使用它。

从常见问题解答(这似乎真的过时了),我得到了https://svn.apache.org/repos/asf/santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/,但那是相当空的。

一开始我有一个传入的公钥,我想读取它,所以是这样的:

我有点希望将其读入org.apache.xml.security.keys.KeyInfo使用 JAXB,但它没有无操作构造函数,因此无法正常工作。如何解析这样的文档以获取KeyInfo对象?(我试图避免DocumentBuilderFactory等人进行低级处理,但如果需要会这样做)

比我需要使用这个公钥来加密生成的密钥(AES-128),而不是用它来加密 XML 文档。我需要再次将所有这些输出为 XML。我希望lib也有这个工具?

0 投票
1 回答
164 浏览

python - 使用 pip install 构建缓慢的 xmlsec 包

xmlsec 1.3.3在我的 python web 应用程序中使用。每次我运行 clean pip install,这是它挂起的包,大约 5 分钟。包大小为 15KB 并且 pip 显示一条using cached...消息,所以我猜时间是通过构建一些特定的安全库来花费的。

有没有办法进行干净的 pip 安装,但不重建 xmlsec 相关库?

0 投票
1 回答
324 浏览

python-3.x - xmlsec 和 openssl 中生成的摘要值不同

嗨,我正在学习和研究数字签名验证,我尝试使用xmlsec库。使用xmlsec示例中的代码:

它生成了一个新文件,其摘要值为:izbIdQ4tSAg6VKGpr1zd6kU9QpVQi/Bcwxjxu/k2oKk=

我试图重现这个值只是为了看看我是否理解正确。从这个问题来看。我的理解是规范化xml之后(我使用下面的代码)

我只需要对其进行散列并将其编码为base64。从另一个问题,我尝试了以下 openssl 命令 openssl dgst -binary -sha256 canon.xml | openssl enc -base64:但是,它产生了这个摘要值:YAzI0t93fuMTBIGkLeYC5VVPyaM0FziBLP5fF6qojbw= 我也尝试使用初始 xml 文件,但它仍然产生不同的值。我的理解正确吗?我如何验证摘要值以用于学习目的。

0 投票
0 回答
197 浏览

python - 用于实现 Django SAML2 身份验证的 Xmlsec 库

我将使用这个 Django 包将 SAML2 身份验证集成到我的 django APP 中:https ://github.com/fangli/django-saml2-auth 。

这个包需要xmlsec libary,不幸的是我正在使用 Windows 服务器,我将在其中安装这个库。

我尝试按照文档将其安装在 Windows 中:

按照文档在 windows 上安装此库后:

我可以通过以下方式配置安装:cscript configure.js prefix=c:\opt include=c:\opt\include lib=c:\opt\lib debug=yes

我已将二进制文件放在上面的文件夹中。在我使用nmake Here 运行 make 文件后,结果:

所以我不知道该怎么做才能继续我的安装,我已经按照文档进行操作,也许我错过了一些东西。

任何人都可以帮忙

谢谢

0 投票
1 回答
412 浏览

java - 在 Jboss 模块和项目依赖项之间选择一个库版本

我正在尝试使用 XML 文件进行签名操作。在这个过程中,我使用了 xmlSec 1.5 库。如果我在本地测试中运行代码,则该过程成功完成。但是,如果我在 Jboss 7.1 的战争中部署代码,我对 xmlSec 1.5 的依赖会被 Jboss 的模块依赖“xmlsec-2.0.8.redhat-1”覆盖,并且签名过程会失败。对于客户的请愿书,我可以排除 xmlsec Jboss 模块,但我不能用它来签名。所以,问题是:我怎么能指定一个给定的库版本只在部分代码中使用?

在这种情况下,两个依赖项的路径是相同的:org.apache.santuario,所以我不能使用它来指定库。

我正在尝试使用提供程序进行签名,但是,Jboss 再次为其 xmlsec-2.0.8 安全提供程序覆盖了我的 xmlsec-1.5 安全提供程序。有一些方法可以实例化一个提供者并将其添加到一组 java 提供者中以替换 Jboss 吗?