summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Uiterwijk <puiterwijk@redhat.com>2014-07-13 21:59:40 -0400
committerPatrick Uiterwijk <puiterwijk@redhat.com>2014-07-13 21:59:40 -0400
commit21403ceae25762f02649b923adeedc9b473a8067 (patch)
treef36ce2e11fe183a670a33ba138df363a56e159a3
parent6b13b16e6b439676113e3c9cd1213a2b7c7e578b (diff)
downloadpysaml2-21403ceae25762f02649b923adeedc9b473a8067.tar.gz
Fix certificate extraction
-rw-r--r--src/saml2/sigver.py20
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()])