diff options
author | Patrick Uiterwijk <puiterwijk@redhat.com> | 2014-07-13 21:59:40 -0400 |
---|---|---|
committer | Patrick Uiterwijk <puiterwijk@redhat.com> | 2014-07-13 21:59:40 -0400 |
commit | 21403ceae25762f02649b923adeedc9b473a8067 (patch) | |
tree | f36ce2e11fe183a670a33ba138df363a56e159a3 | |
parent | 6b13b16e6b439676113e3c9cd1213a2b7c7e578b (diff) | |
download | pysaml2-21403ceae25762f02649b923adeedc9b473a8067.tar.gz |
Fix certificate extraction
-rw-r--r-- | src/saml2/sigver.py | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/saml2/sigver.py b/src/saml2/sigver.py index e0680359..e4b1710e 100644 --- a/src/saml2/sigver.py +++ b/src/saml2/sigver.py @@ -1058,13 +1058,19 @@ def encrypt_cert_from_item(item): certs = cert_from_instance(item) if len(certs) > 0: _encrypt_cert = certs[0] - if _encrypt_cert is not None: - if _encrypt_cert.find("-----BEGIN CERTIFICATE-----\n") == -1: - _encrypt_cert = "-----BEGIN CERTIFICATE-----\n" + _encrypt_cert - if _encrypt_cert.find("-----END CERTIFICATE-----\n") == -1: - _encrypt_cert = _encrypt_cert + "-----END CERTIFICATE-----\n" except Exception: - return None + pass + + if _encrypt_cert is None: + certs = cert_from_instance(item) + if len(certs) > 0: + _encrypt_cert = certs[0] + + if _encrypt_cert is not None: + if _encrypt_cert.find("-----BEGIN CERTIFICATE-----\n") == -1: + _encrypt_cert = "-----BEGIN CERTIFICATE-----\n" + _encrypt_cert + if _encrypt_cert.find("\n-----END CERTIFICATE-----") == -1: + _encrypt_cert = _encrypt_cert + "\n-----END CERTIFICATE-----" return _encrypt_cert @@ -1825,4 +1831,4 @@ if __name__ == '__main__': args = parser.parse_args() if args.listsigalgs: - print '\n'.join([key for key, value in SIGNER_ALGS.items()])
\ No newline at end of file + print '\n'.join([key for key, value in SIGNER_ALGS.items()]) |