diff options
author | Ivan Kanakarakis <ivan.kanak@gmail.com> | 2019-01-25 15:52:55 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-25 15:52:55 +0200 |
commit | 711565f7a3197463f92db30ea3ddefadf4e77105 (patch) | |
tree | 729401c3080af73de0f2d21bbd273ed57de9f545 | |
parent | fbff99e4d3cbd1b53150019f41d88654058bb751 (diff) | |
parent | 56f75da775b01aac7eec18cad3ddd47976ab8312 (diff) | |
download | pysaml2-711565f7a3197463f92db30ea3ddefadf4e77105.tar.gz |
Merge pull request #585 from johanlundberg/fix_xmlsec_sign_statement
Python 3 problem with lxml.etree.tostring
-rw-r--r-- | src/saml2/sigver.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/saml2/sigver.py b/src/saml2/sigver.py index 6e9ebf9b..0541535a 100644 --- a/src/saml2/sigver.py +++ b/src/saml2/sigver.py @@ -957,7 +957,10 @@ class CryptoBackendXMLSecurity(CryptoBackend): xml = xmlsec.parse_xml(statement) signed = xmlsec.sign(xml, key_file) - return lxml.etree.tostring(signed, xml_declaration=True) + signed_str = lxml.etree.tostring(signed, xml_declaration=False, encoding="UTF-8") + if not isinstance(signed_str, six.string_types): + signed_str = signed_str.decode("utf-8") + return signed_str def validate_signature(self, signedtext, cert_file, cert_type, node_name, node_id, id_attr): """ |