Skip to content

Commit da91d08

Browse files
author
Roland Hedberg
committed
Merge pull request #204 from HaToHo/master
PEFIM fixes
2 parents d38e947 + 453061c commit da91d08

File tree

3 files changed

+11
-7
lines changed

3 files changed

+11
-7
lines changed

example/idp2/idp.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,8 @@ def do(self, query, binding_in, relay_state="", encrypt_cert=None):
335335
_resp = IDP.create_authn_response(
336336
identity, userid=self.user,
337337
encrypt_cert=encrypt_cert,
338+
encrypt_assertion_self_contained=True,
339+
encrypted_advice_attributes=True,
338340
**resp_args)
339341
except Exception as excp:
340342
logging.error(exception_trace(excp))
@@ -399,9 +401,9 @@ def redirect(self):
399401
return resp(self.environ, self.start_response)
400402

401403
if self.user:
404+
saml_msg["req_info"] = self.req_info
402405
if _req.force_authn is not None and \
403406
_req.force_authn.lower() == 'true':
404-
saml_msg["req_info"] = self.req_info
405407
key = self._store_request(saml_msg)
406408
return self.not_authn(key, _req.requested_authn_context)
407409
else:
@@ -1013,6 +1015,7 @@ def application(environ, start_response):
10131015
if isinstance(callback, tuple):
10141016
cls = callback[0](environ, start_response, user)
10151017
func = getattr(cls, callback[1])
1018+
10161019
return func()
10171020
return callback(environ, start_response, user)
10181021

src/saml2/aes.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ def encrypt(self, msg, iv=None, alg="aes_128_cbc", padding="PKCS#7",
8787
return cmsg
8888

8989

90-
def decrypt(self, msg, iv=None, padding="PKCS#7", b64dec=True):
90+
def decrypt(self, msg, iv=None, alg="aes_128_cbc", padding="PKCS#7", b64dec=True):
9191
"""
9292
:param key: The encryption key
9393
:param iv: init vector
@@ -102,7 +102,7 @@ def decrypt(self, msg, iv=None, padding="PKCS#7", b64dec=True):
102102
_iv = data[:AES.block_size]
103103
if iv:
104104
assert iv == _iv
105-
cipher, iv = self.build_cipher(iv)
105+
cipher, iv = self.build_cipher(iv, alg=alg)
106106
res = cipher.decrypt(data)[AES.block_size:]
107107
if padding in ["PKCS#5", "PKCS#7"]:
108108
res = res[:-ord(res[-1])]

src/saml2/sigver.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1820,10 +1820,11 @@ def pre_encrypt_assertion(response):
18201820
assertion = response.assertion
18211821
response.assertion = None
18221822
response.encrypted_assertion = EncryptedAssertion()
1823-
if isinstance(assertion, list):
1824-
response.encrypted_assertion.add_extension_elements(assertion)
1825-
else:
1826-
response.encrypted_assertion.add_extension_element(assertion)
1823+
if assertion is not None:
1824+
if isinstance(assertion, list):
1825+
response.encrypted_assertion.add_extension_elements(assertion)
1826+
else:
1827+
response.encrypted_assertion.add_extension_element(assertion)
18271828
# txt = "%s" % response
18281829
# _ass = "%s" % assertion
18291830
# _ass = rm_xmltag(_ass)

0 commit comments

Comments
 (0)