2016-05-12 20 views
3

3日間、私はOkta & SAMLの周りを頭の中に入れようとしていました。私のローカルマシン(OSXマーベリックス)で"SignatureError:署名の検証に失敗しました" - Okta、pySAML2

、私は正常にここに記載された手順に従うことができる午前:http://developer.okta.com/docs/guides/pysaml2

物事の仕事。

しかし、ほぼ同じコードを実行しているCentOSボックスのプロダクションサーバーにすべてを移動すると、私はこの「SignatureError:署名の検証に失敗しました」というエラーに直面しています。

Traceback (most recent call last): 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\", line 599, in parse_authn_request_response binding, **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 loads self._loads(xmldata, decode, origxml)

File \"/usr/local/lib/python2.7.11/lib/python2.7/site-packages/saml2/response.py\", line 335, in _loads **args) File \"/usr/local/lib/python2.7.11/lib/python2.7/site-packages/saml2/sigver.py\", line 1756, in correctly_signed_response class_name(response), origdoc)

File \"/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: Failed to verify signature

私はこのエラーをトラブルシューティングする方法を探してインターネットを精査しました。私はSAMLとOktaを初めて使用しています。

私の前提は、これはxmlsec1が生産マシン上で異なった動作をすることと関係があります。しかしバージョンは同じです。多くの依存関係があるので、どこに問題があるのか​​わかりません。

誰もこのエラーに遭遇しましたか?私が何を試すことができるかもしれないかについてのあらゆる考え?

答えて

0

xmlsec1を扱うことは、非常にイライラする可能性があります。

私がやって示唆主なものは、enabling debugging in PySAML2、および/またはsetting the PYSAML2_KEEP_XMLSEC_TMP environment variable、および/またはmanually enable this code path in sigver.pyである - 一般的な考え方は、PySAML2が呼んでいるxmlsec1コマンドを見てもらうために、あなたがそのようPySAML2が周りの一時ファイルを残してきています自分でコマンドをテストすることができます。

私が過去に実行した問題のほとんどは、PySAML2がxmlsec1バイナリを見つけられなかったことを思い出します。 The get_xmlsec_binary() function in sigver.pyは、xmlsec1バイナリを検索します。 get_xmlsec_binary()のコードを見て、システムの正しい場所を探していることを確認することをお勧めします。

2

私は、これは少し遅れている知っているが、場合には他の誰かがこのに実行されます。

pysaml2はPythonのloggingに建てられ、私は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をインストールする必要がありました。 これは将来誰かに役立つことを願っています。

関連する問題