summaryrefslogtreecommitdiffstats
path: root/lasso
diff options
context:
space:
mode:
authorBenjamin Dauvergne <bdauvergne@entrouvert.com>2010-12-14 01:57:09 +0100
committerBenjamin Dauvergne <bdauvergne@entrouvert.com>2010-12-14 01:57:09 +0100
commit355df68dfed94e21726cf5ef7b0747623dbdcf4a (patch)
treebc62bc00a4dedb3334394b93f02b11ef43644082 /lasso
parentec5ec161f7d957e86b44310d8f2b5bb604613196 (diff)
downloadlasso-355df68dfed94e21726cf5ef7b0747623dbdcf4a.tar.gz
lasso-355df68dfed94e21726cf5ef7b0747623dbdcf4a.tar.xz
lasso-355df68dfed94e21726cf5ef7b0747623dbdcf4a.zip
[saml2] use new encryption structure instead for internal field in LassoSaml2Assertion
Diffstat (limited to 'lasso')
-rw-r--r--lasso/saml-2.0/login.c8
-rw-r--r--lasso/xml/tools.c9
2 files changed, 8 insertions, 9 deletions
diff --git a/lasso/saml-2.0/login.c b/lasso/saml-2.0/login.c
index 192fe6e8..40b6d71c 100644
--- a/lasso/saml-2.0/login.c
+++ b/lasso/saml-2.0/login.c
@@ -860,11 +860,9 @@ lasso_saml20_login_build_assertion(LassoLogin *login,
/* Save encryption material in assertion private datas to be able to encrypt later */
if (do_encrypt_assertion) {
- assertion->encryption_activated = TRUE;
- lasso_assign_string(assertion->encryption_public_key_str,
- provider->private_data->encryption_public_key_str);
- assertion->encryption_sym_key_type =
- lasso_provider_get_encryption_sym_key_type(provider);
+ lasso_node_set_encryption((LassoNode*)assertion,
+ lasso_provider_get_encryption_public_key(provider),
+ lasso_provider_get_encryption_sym_key_type(provider));
}
/* store assertion in session object */
diff --git a/lasso/xml/tools.c b/lasso/xml/tools.c
index f73e93e4..9a91ccc3 100644
--- a/lasso/xml/tools.c
+++ b/lasso/xml/tools.c
@@ -589,16 +589,17 @@ LassoNode*
lasso_assertion_encrypt(LassoSaml2Assertion *assertion, char *recipient)
{
xmlSecKey *encryption_public_key = NULL;
+ LassoEncryptionSymKeyType encryption_sym_key_type = 0;
LassoNode *ret = NULL;
- if (assertion->encryption_activated == FALSE ||
- assertion->encryption_public_key_str == NULL) {
+ lasso_node_get_encryption((LassoNode*)assertion, &encryption_public_key,
+ &encryption_sym_key_type);
+ if (! encryption_public_key) {
return NULL;
}
- encryption_public_key = lasso_xmlsec_load_private_key(assertion->encryption_public_key_str, NULL);
ret = LASSO_NODE(lasso_node_encrypt(LASSO_NODE(assertion),
- encryption_public_key, assertion->encryption_sym_key_type, recipient));
+ encryption_public_key, encryption_sym_key_type, recipient));
lasso_release_sec_key(encryption_public_key);
return ret;