Skip to content

Commit 5d2e297

Browse files
committed
Support Signature on Response and on Assertion
1 parent 658d9a9 commit 5d2e297

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

onelogin/saml/SignatureVerifier.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,12 @@ def verify(document, signature, _etree=None, _tempfile=None, _subprocess=None,
7575
if _os is None:
7676
_os = os
7777

78+
signatureNodes = document.xpath("//ds:Signature", namespaces={'ds': 'http://www.w3.org/2000/09/xmldsig#'})
79+
80+
parent_id_container = 'urn:oasis:names:tc:SAML:2.0:assertion:Assertion'
81+
if signatureNodes and signatureNodes[0].getparent().tag == '{urn:oasis:names:tc:SAML:2.0:protocol}Response':
82+
parent_id_container = 'urn:oasis:names:tc:SAML:2.0:protocol:Response'
83+
7884
xmlsec_bin = _get_xmlsec_bin()
7985

8086
verified = False
@@ -117,7 +123,7 @@ def verify(document, signature, _etree=None, _tempfile=None, _subprocess=None,
117123
'--pubkey-cert-pem',
118124
cert_filename,
119125
'--id-attr:ID',
120-
'urn:oasis:names:tc:SAML:2.0:assertion:Assertion',
126+
parent_id_container,
121127
xml_filename,
122128
]
123129

0 commit comments

Comments
 (0)