Skip to content

Commit 82b921b

Browse files
committed
Embed the cert in the EncryptedData element
Signed-off-by: Ivan Kanakarakis <[email protected]>
1 parent 9a78ba3 commit 82b921b

File tree

2 files changed

+16
-9
lines changed

2 files changed

+16
-9
lines changed

src/saml2/entity.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -663,7 +663,10 @@ def _encrypt_assertion(self, encrypt_cert, sp_entity_id, response, node_xpath=No
663663
delete_tmpfiles=self.config.delete_tmpfiles,
664664
)
665665
response = self.sec.encrypt_assertion(
666-
response, tmp.name, pre_encryption_part(), node_xpath=node_xpath
666+
response,
667+
tmp.name,
668+
pre_encryption_part(encrypt_cert=unwrapped_cert),
669+
node_xpath=node_xpath,
667670
)
668671
return response
669672
except Exception as ex:

src/saml2/sigver.py

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1882,24 +1882,28 @@ def pre_signature_part(
18821882

18831883

18841884
def pre_encryption_part(
1885+
*,
18851886
msg_enc=TRIPLE_DES_CBC,
18861887
key_enc=RSA_OAEP_MGF1P,
18871888
key_name='my-rsa-key',
18881889
encrypted_key_id=None,
18891890
encrypted_data_id=None,
1891+
encrypt_cert=None,
18901892
):
1891-
"""
1892-
1893-
:param msg_enc:
1894-
:param key_enc:
1895-
:param key_name:
1896-
:return:
1897-
"""
18981893
ek_id = encrypted_key_id or "EK_{id}".format(id=gen_random_key())
18991894
ed_id = encrypted_data_id or "ED_{id}".format(id=gen_random_key())
19001895
msg_encryption_method = EncryptionMethod(algorithm=msg_enc)
19011896
key_encryption_method = EncryptionMethod(algorithm=key_enc)
1902-
key_info = ds.KeyInfo(key_name=ds.KeyName(text=key_name))
1897+
1898+
x509_data = (
1899+
ds.X509Data(x509_certificate=ds.X509Certificate(text=encrypt_cert))
1900+
if encrypt_cert
1901+
else None
1902+
)
1903+
key_info = ds.KeyInfo(
1904+
key_name=ds.KeyName(text=key_name),
1905+
x509_data=x509_data,
1906+
)
19031907

19041908
encrypted_key = EncryptedKey(
19051909
id=ek_id,

0 commit comments

Comments
 (0)