pysaml2 XML规范化的命名空间问题

Posted

技术标签:

【中文标题】pysaml2 XML规范化的命名空间问题【英文标题】:Namespace issue with pysaml2 XML canonicalization 【发布时间】:2015-11-05 15:52:44 【问题描述】:

我是 SAML 新手,在使用 pysaml2 构建 IdP 时遇到了问题。当创建一个签名的 authn 响应时,在 xmldsig/init.py 中指定的规范化算法是排他的规范化('http://www.w3.org/2001/10/xml-exc-c14n#'),它不会包括某些 SP 所必需的某些命名空间的声明(例如命名空间 xmlns:xs 用于 QName,如 xsi:type="xs:string")。 W3C 建议指定了 InclusiveNamespaces PrefixList 来处理这些情况,但我在 pysaml2 中找不到如何做到这一点。这里有一个类似的问题: https://bz.apache.org/bugzilla/show_bug.cgi?id=49710

pysaml2 有解决方案吗?要么包含这些命名空间,要么只删除所有这些 xsi:type="xs:string"。

谢谢!

【问题讨论】:

遇到同样的问题。感谢您写下您的发现。 【参考方案1】:

此问题已在 pysaml2 4.3.0 版本中得到解决,可在 pypi/pysaml2 获得。另见https://github.com/rohe/pysaml2/pull/336 和https://github.com/rohe/pysaml2/pull/365。

【讨论】:

以上是关于pysaml2 XML规范化的命名空间问题的主要内容,如果未能解决你的问题,请参考以下文章

XML和Schema命名空间详解

XML和Schema命名空间详解

当根节点有命名空间声明时,GXT 和 AutoBeans 能否处理 XML?

命名空间(xmlns属性)

『XML』XML/XSD命名空间解析

VS2015-项目默认的XML命名空间必须是MSBuild XML命名空间