summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kanakarakis <ivan.kanak@gmail.com>2019-01-25 15:52:55 +0200
committerGitHub <noreply@github.com>2019-01-25 15:52:55 +0200
commit711565f7a3197463f92db30ea3ddefadf4e77105 (patch)
tree729401c3080af73de0f2d21bbd273ed57de9f545
parentfbff99e4d3cbd1b53150019f41d88654058bb751 (diff)
parent56f75da775b01aac7eec18cad3ddd47976ab8312 (diff)
downloadpysaml2-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.py5
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):
"""