问题标签 [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 回答
468 浏览

apache-camel - 如何在 apache camel 中使用 XML 安全组件实现分离的 XML 签名?

HI 对 Detached XML Signatures 的实现有疑问,我主要遵循此处出现的示例。我的疑问与使用模式“test.xsd”完成的验证有关,我没有设法根据我的需要生成它。

我必须签署请求的正文、时间戳和 BinarySecurityToken,这是加密的(对于加密,我使用出现在http://camel.apache.org/xmlsecurity-dataformat.html中的实现)

我的路线骆驼是:

要签名的元素是:

用于签名的uri是:

我的实现中的test.xsd是schema.xsd,即:(我不知道如何指示另外两方签名)

我可以遵循的任何想法或其他示例?

0 投票
1 回答
918 浏览

python - XMLSEC 错误:“加载证书失败”

我正在尝试在我的项目中使用 python-saml 工具包(或其中的部分代码),但我遇到了一些问题,我将尝试在这个问题中解决。在我的本地机器(ubuntu 18.04)中,我启动并运行了所有东西,但是在将它安装在 centOS 机器上时,我遇到了几个问题。我正在使用(必须使用)的版本是 CentOS 6.8。我构建了我需要的所有 rpm 包(依赖项)并安装了它们。在 python-saml 代码的以下行中,我得到了错误,“加载证书失败”:

此 loadCert 函数是 dm.xmlsec.binding 包的一部分。所以我检查了这个功能,就是这样:

好吧,我猜这个问题只能在“xmlSecCryptoAppKeyCertLoad”中,所以我检查了这个属于 XMLSEC 库的函数,定义为:

}

函数“loadCert”的参数是正确的,正确的证书文件名和正确的格式。我在命令行中手动尝试了它,我得到了同样的错误(仅在 centOS 机器中,在我的 Ubuntu 中一切正常)。

知道可能是什么问题吗?我将不得不以某种方式了解正在发生的事情,但是如果有人可以提供帮助,那就太好了。

提前致谢!

对于这个问题并不重要,但以防万一对其他人有帮助,我在红帽机器上安装 dm.xmlsec.binding 时遇到了问题,我通过按照https://github.com/中描述的内容构建包来解决它onelogin/python-saml/issues/30,这意味着更新 /usr/bin/xmlsec1-config 文件以在“--cflags”中包含“-DXMLSEC_NO_SIZE_T”。

0 投票
1 回答
547 浏览

saml-2.0 - xmlsec1 saml 签名:找不到名称为“Signature”的默认节点

我在签署以下 saml 消息时遇到了一些麻烦:

每当我启动使用 xmlsec1 进行签名的命令时,都会收到以下消息:

正如您在我的 SAML 消息中看到的那样,我已经有一个 Signature 标签,并且我检查了我的 XML 是否有效,所以我现在有点卡住了。谁能找到我的问题?

0 投票
0 回答
85 浏览

python - AssertionError:未知节点类型:使用 dm.xmlsec.binding 加密 SOAP 正文内容时为 3

当我尝试使用https://pypi.org/project/dm.xmlsec.binding/加密 SOAP XML 消息的正文时出现错误。

当我尝试加密正文的内容 (xmlsec.TypeEncContent) 时会发生错误,但是当我尝试加密正文元素 (xmlsec.TypeEncElement) 时它会起作用。这是代码:

XML 数据如下所示:

这里有什么问题?

我不确定这是否相关或相关,但我尝试使用不同的库https://github.com/mehcode/python-xmlsec/issues/83做同样的事情,但是我收到了 Segmentation fault 错误,当我尝试加密元素时它起作用了。这种模式让我相信这种方法有问题。

任何提示表示赞赏。提前致谢!

0 投票
2 回答
2413 浏览

python - Python烧瓶saml抛出saml2.sigver.SigverError错误消息

有没有人使用 Windows 作为开发环境、Python 3.6 和 Flask 1.0.2 成功实现了 flask-saml?

我们的组织为我提供了指向 SAML METADATA XML 文件的链接,并在我的烧瓶应用程序上对其进行了配置。

根据文档,此扩展将设置以下路线:

  • /saml/logout/:从应用程序中注销。如果用户单击“注销”按钮,这就是他们去的地方。

  • /saml/sso/:通过 SAML 登录。

  • /saml/acs/:在 /saml/sso/ 将您发送到您的 IdP 后,它会将您发送回此路径。此外,您的 IdP 可能会提供直接登录,而无需 /saml/sso/ 路由。

当我去其中一条路线时,http://localhost:5000/saml/sso/我收到以下错误

saml2.sigver.SigverError saml2.sigver.SigverError: 找不到 ['xmlsec.exe', 'xmlsec1.exe']

然后我去这个站点https://github.com/mehcode/python-xmlsec/releases/tag/1.3.5获取 xmlsec 并安装它。但是,我仍然遇到同样的问题。

这是我如何安装 xmlsec 的屏幕截图

在哪里似乎找不到 xmlsec.exe

在此处输入图像描述

0 投票
2 回答
1660 浏览

python - 如何使用 xmlsec(或其他更合适的包)签署 XML

我从这样的 XML 开始:

我需要签名所以看起来像这样

顺便说一句,那里的证书信息不是真实的,所以不用担心。

我查看了文档中的示例页面,但我不知道他们的源 xml 是什么样的,所以它使我的用例成型非常棘手。

0 投票
1 回答
101 浏览

saml-2.0 - 如何强制 libxml1 忽略文件中的证书并使用我在命令行上传递的证书?

我正在尝试验证签名的 XML SAML 响应。它在 XML 中包含一个欺骗性证书。

我在 PEM 文件中有已知的真实证书。

当我跑

它正确地验证了它!它使用欺骗 SAML 请求中的证书,而不是我在命令行上传递的已知好的证书。我知道这一点,因为当我添加--print-debug到参数时,它会输出欺骗的证书信息。

有没有办法强制xmlsec1忽略 XML 文件中的证书并强制它使用我在命令行上传递的证书?

xmlsec1在 Mac 上运行 1.2.20。

0 投票
1 回答
2128 浏览

python - ImportError:在导入 xmlsec 时检测到解释器更改

我有一个 Django 服务,我最近在其中添加了 OneLogin SSO。一切都在本地机器上工作正常,但在服务器上,登录视图在每个请求上都会抛出这个 ImportError 。

完整的堆栈跟踪是

我将 python 3.5.1 与 Django 1.11 和python3-samlSSO 一起使用。该机器使用亚马逊 AMI 在 AWS 上。

0 投票
1 回答
4415 浏览

java - XML 外部实体 (XXE) - 外部参数实体和外部通用实体漏洞

为了防止 XXE 攻击,我按照 Java DocumentBuilderFactory 的建议禁用了以下功能 - https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet

如果我不将 external-general-entites 和 external-parameter-entities 设置为 false,是否存在任何漏洞?因为当我们将 disallow-doctype-decl 设置为 true 并将 XIncludeAware 设置为 false 时,它​​不允许扩展这些外部实体。

从上面的代码中删除这两行是否安全 - dbf.setFeature("http://xml.org/sax/features/external-general-entities", false); dbf.setFeature("http://xml.org/sax/features/external-parameter-entities", false);或者也必须保留它们。如果它是强制性的,如果我们不将它们设置为 false 会有什么漏洞?

请提供特定于 external-genereal/Parameter-entities 的漏洞示例,即使我们将 disallow-doctype 设置为 true,XIncludeAware 设置为 false,ExpandEntityReferences 设置为 false。

0 投票
1 回答
2040 浏览

python-3.x - 从 PKS 文件中获取 python signxml 的证书和密钥

我使用以下命令从 pks 文件中获取证书和密钥。

但是我不断收到错误。我怀疑my.key不正确。如何生成正确的密钥和证书来提供 signxml?我在 Ubuntu 16.04 上使用 python3.5。先感谢您!

xml页面的示例代码: