Rya*_*tin 4 python encryption cryptography saml-2.0 okta
三天来,我一直在拉我的头发,试图将我的头包裹在 Okta 和 SAML 上。
在我的本地机器(OSX Mavericks)上,我能够成功地按照此处列出的步骤进行操作:http : //developer.okta.com/docs/guides/pysaml2
事情有效。
但是将所有内容转移到我们的生产服务器,它是一个 CentOS 机器,运行几乎相同的代码,我面临这个“SignatureError:无法验证签名”错误。
回溯(最近一次调用):auth_response = saml_client.parse_authn_request_response(SAMLResponse, entity.BINDING_HTTP_POST) File \"/usr/local/lib/python2.7.11/lib/python2.7/site-packages/saml2/client_base.py\ ",第 599 行,在 parse_authn_request_response 绑定中,**kwargs)
response = response.loads(xmlstr, False, origxml=origxml) File \"/usr/local/lib/python2.7.11/lib/python2.7/site-packages/saml2/response.py\", line 510, in加载 self._loads(xmldata, decode, origxml)
文件 \"/usr/local/lib/python2.7.11/lib/python2.7/site-packages/saml2/response.py\",第 335 行,在 _loads **args) 文件 \"/usr/local/lib /python2.7.11/lib/python2.7/site-packages/saml2/sigver.py\",第 1756 行,在正确的_signed_response class_name(response), origdoc 中)
文件 \"/usr/local/lib/python2.7.11/lib/python2.7/site-packages/saml2/sigver.py\", line 1571, in _check_signature raise SignatureError(\"Failed to verify signature\") SignatureError : 无法验证签名
我已经在互联网上寻找解决此错误的方法。我是 SAML 和 Okta 的新手。
我的假设是这与 xmlsec1 在我们的生产机器上的不同行为有关。但是版本是一样的。有很多依赖项,所以我不确定问题可能出在哪里。
有没有人遇到过这个错误?关于我可以尝试什么的任何想法?
小智 5
我知道这有点晚了,但万一其他人遇到这个:
pysaml2 使用 python 的内置日志记录提供了大量日志记录,我为 saml2.sigver 定义了一个处理程序,并提供了很多信息。在这些日志中,我发现了这一点:
Error: unable to load xmlsec-openssl library. Make sure that you have
this it installed, check shared libraries path (LD_LIBRARY_PATH)
envornment variable or use "--crypto" option to specify different
crypto engine.
Run Code Online (Sandbox Code Playgroud)
原来我需要安装 xmlsec1-openssl。希望这对未来的人有所帮助。
处理起来xmlsec1可能会非常令人沮丧!
我建议做的主要事情是在 PySAML2 中启用调试,和/或设置 PYSAML2_KEEP_XMLSEC_TMP 环境变量,和/或在 sigver.py 中手动启用此代码路径- 总体思路是查看xmlsec1PySAML2 正在调用的命令和让 PySAML2 保留临时文件,以便您可以自己测试命令。
我记得,我过去遇到的大多数问题都涉及 PySAML2 找不到xmlsec1二进制文件。sigver.py 中的函数负责get_xmlsec_binary()查找xmlsec1二进制文件。我建议您查看一下代码get_xmlsec_binary()并确保它在您的系统上查找正确的位置。
| 归档时间: |
|
| 查看次数: |
2090 次 |
| 最近记录: |