Skip to content

Commit efa12f0

Browse files
committed
Bytes/string issues with encryption/decryption
Finding a few more places where bytes were leaking out of some methods and strings were leaking into to others. This makes many more python3 tests pass.
1 parent 234f09c commit efa12f0

File tree

3 files changed

+8
-8
lines changed

3 files changed

+8
-8
lines changed

src/saml2/sigver.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -828,7 +828,7 @@ def decrypt(self, enctext, key_file):
828828
(_stdout, _stderr, output) = self._run_xmlsec(com_list, [fil],
829829
exception=DecryptError,
830830
validate_output=False)
831-
return output
831+
return output.decode('utf-8')
832832

833833
def sign_statement(self, statement, node_name, key_file, node_id,
834834
id_attr):

tests/test_50_server.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -706,7 +706,7 @@ def test_encrypted_signed_response_4(self):
706706

707707
assert valid
708708

709-
_, key_file = make_temp("%s" % cert_key_str, decode=False)
709+
_, key_file = make_temp(cert_key_str, decode=False)
710710

711711
decr_text = self.server.sec.decrypt(decr_text, key_file)
712712

@@ -749,7 +749,7 @@ def test_encrypted_response_1(self):
749749

750750
assert sresponse.signature is None
751751

752-
_, key_file = make_temp("%s" % cert_key_str_advice, decode=False)
752+
_, key_file = make_temp(cert_key_str_advice, decode=False)
753753

754754
decr_text = self.server.sec.decrypt(_resp, key_file)
755755

@@ -781,7 +781,7 @@ def test_encrypted_response_2(self):
781781

782782
decr_text_1 = self.server.sec.decrypt(_resp, self.client.config.key_file)
783783

784-
_, key_file = make_temp("%s" % cert_key_str_advice, decode=False)
784+
_, key_file = make_temp(cert_key_str_advice, decode=False)
785785

786786
decr_text_2 = self.server.sec.decrypt(decr_text_1, key_file)
787787

@@ -812,7 +812,7 @@ def test_encrypted_response_3(self):
812812

813813
assert sresponse.signature is None
814814

815-
_, key_file = make_temp("%s" % cert_key_str_assertion, decode=False)
815+
_, key_file = make_temp(cert_key_str_assertion, decode=False)
816816

817817
decr_text = self.server.sec.decrypt(_resp, key_file)
818818

@@ -904,11 +904,11 @@ def test_encrypted_response_6(self):
904904

905905
assert sresponse.signature is None
906906

907-
_, key_file = make_temp("%s" % cert_key_str_assertion, decode=False)
907+
_, key_file = make_temp(cert_key_str_assertion, decode=False)
908908

909909
decr_text_1 = _server.sec.decrypt(_resp, key_file)
910910

911-
_, key_file = make_temp("%s" % cert_key_str_advice, decode=False)
911+
_, key_file = make_temp(cert_key_str_advice, decode=False)
912912

913913
decr_text_2 = _server.sec.decrypt(decr_text_1, key_file)
914914

tests/test_60_sp.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ def test_identify(self):
6464
"urn:mace:example.com:saml:roland:sp", trans_name_policy,
6565
"[email protected]", authn=AUTHN)
6666

67-
resp_str = base64.encodestring(resp_str)
67+
resp_str = base64.encodestring(resp_str.encode('utf-8'))
6868
self.sp.outstanding_queries = {"id1": "http://www.example.com/service"}
6969
session_info = self.sp._eval_authn_response(
7070
{}, {"SAMLResponse": [resp_str]})

0 commit comments

Comments
 (0)