summaryrefslogtreecommitdiff
path: root/src/saml2/sigver.py
diff options
context:
space:
mode:
authorIvan Kanakarakis <ivan.kanak@gmail.com>2021-04-20 15:51:53 +0300
committerIvan Kanakarakis <ivan.kanak@gmail.com>2021-05-18 15:20:29 +0300
commit82b921ba677f5619491be53ac45927dde88d880e (patch)
tree5f764480193de7563006365ac1e2932ddbfa5476 /src/saml2/sigver.py
parent9a78ba37e0bdfea52b01c2cea1b389c9b7215354 (diff)
downloadpysaml2-82b921ba677f5619491be53ac45927dde88d880e.tar.gz
Embed the cert in the EncryptedData element
Signed-off-by: Ivan Kanakarakis <ivan.kanak@gmail.com>
Diffstat (limited to 'src/saml2/sigver.py')
-rw-r--r--src/saml2/sigver.py20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/saml2/sigver.py b/src/saml2/sigver.py
index 007e7b40..b18d2cce 100644
--- a/src/saml2/sigver.py
+++ b/src/saml2/sigver.py
@@ -1882,24 +1882,28 @@ def pre_signature_part(
def pre_encryption_part(
+ *,
msg_enc=TRIPLE_DES_CBC,
key_enc=RSA_OAEP_MGF1P,
key_name='my-rsa-key',
encrypted_key_id=None,
encrypted_data_id=None,
+ encrypt_cert=None,
):
- """
-
- :param msg_enc:
- :param key_enc:
- :param key_name:
- :return:
- """
ek_id = encrypted_key_id or "EK_{id}".format(id=gen_random_key())
ed_id = encrypted_data_id or "ED_{id}".format(id=gen_random_key())
msg_encryption_method = EncryptionMethod(algorithm=msg_enc)
key_encryption_method = EncryptionMethod(algorithm=key_enc)
- key_info = ds.KeyInfo(key_name=ds.KeyName(text=key_name))
+
+ x509_data = (
+ ds.X509Data(x509_certificate=ds.X509Certificate(text=encrypt_cert))
+ if encrypt_cert
+ else None
+ )
+ key_info = ds.KeyInfo(
+ key_name=ds.KeyName(text=key_name),
+ x509_data=x509_data,
+ )
encrypted_key = EncryptedKey(
id=ek_id,