问题描述
三天来,我一直在绞尽脑汁,试图把我的头围绕在Okta&;SAML上。
在我的本地计算机(OSX Mavericks)上,我能够成功地执行下面列出的步骤:http://developer.okta.com/docs/guides/pysaml2
一切正常。 但是将所有东西移到我们的生产服务器上,这是一个CentOS机器,运行几乎相同的代码,我面临着这个"SignatureError:Failure to Verify Signature"错误。
回溯(最近一次调用): AUTH_RESPONSE=saml_client.parse_authn_request_response(SAMLResponse,实体.BINDING_HTTP_POST) 文件"/usr/local/lib/python2.7.11/lib/python2.7/site-packages/saml2/client_base.py",第599行,在解析身份验证请求响应绑定中,**kwargs) Response=Response.Loads(xmlstr,FALSE,Origxml=Origxml) 文件数据行510,在装入sel._"/usr/local/lib/python2.7.11/lib/python2.7/site-packages/saml2/response.py",(xmldata,decode,Origxml)文件加载第335行,in_"/usr/local/lib/python2.7.11/lib/python2.7/site-packages/saml2/response.py",**参数) 在"/usr/local/lib/python2.7.11/lib/python2.7/site-packages/saml2/sigver.py",_Signed_Response中正确签名第1756行 CLASS_NAME(响应),原始文档)
文件"/usr/local/lib/python2.7.11/lib/python2.7/site-packages/saml2/sigver.py",第1571行,In_Check_Signature 引发SignatureError("验证签名失败") SignatureError:验证签名失败
我已在互联网上搜索,以寻找解决此错误的方法。我是SAML和Okta的新手。
我的假设是,这与xmlsec1在我们的生产机器上的行为方式不同有关。但这两个版本是相同的。有很多依赖项,所以我不确定问题可能出在哪里。
有人遇到过这个错误吗?有什么想法可以让我尝试一下吗?
推荐答案
我知道这有点晚了,但以防其他人遇到这种情况:
pysaml2使用其内置的日志记录提供了大量日志记录,我为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.
结果是我需要安装xmlsec1-openssl。
希望这对未来的某个人有所帮助。
这篇关于";SignatureError:验证签名失败&okta,pySAML2的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!