diff options
| author | Frederic Peters <fpeters@entrouvert.com> | 2006-01-12 13:01:12 +0000 |
|---|---|---|
| committer | Frederic Peters <fpeters@entrouvert.com> | 2006-01-12 13:01:12 +0000 |
| commit | 1660c51d505d8b30d7fbd99a19dc72477ebb83ae (patch) | |
| tree | 3cbec1f3e791307c481925816a15f998cdeef76c | |
| parent | 27655edc316acd1b3c95240836d0307705a5507e (diff) | |
duplicate key to fix consecutive calls to xmlsec
| -rw-r--r-- | lasso/id-ff/provider.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lasso/id-ff/provider.c b/lasso/id-ff/provider.c index 291d0542..335a3268 100644 --- a/lasso/id-ff/provider.c +++ b/lasso/id-ff/provider.c @@ -348,7 +348,7 @@ static LassoNodeClass *parent_class = NULL; xmlSecKey* lasso_provider_get_public_key(LassoProvider *provider) { - return provider->private_data->public_key; + return xmlSecKeyDuplicate(provider->private_data->public_key); } static void @@ -871,7 +871,8 @@ int lasso_provider_verify_signature(LassoProvider *provider, return -2; if (format == LASSO_MESSAGE_FORMAT_QUERY) { - return lasso_query_verify_signature(message, provider->private_data->public_key); + return lasso_query_verify_signature(message, + lasso_provider_get_public_key(provider)); } if (format == LASSO_MESSAGE_FORMAT_BASE64) { @@ -941,7 +942,7 @@ int lasso_provider_verify_signature(LassoProvider *provider, dsigCtx = xmlSecDSigCtxCreate(keys_mngr); if (keys_mngr == NULL) { - dsigCtx->signKey = provider->private_data->public_key; + dsigCtx->signKey = lasso_provider_get_public_key(provider); if (dsigCtx->signKey == NULL) { /* XXX: should this be detected on lasso_provider_new ? */ xmlSecDSigCtxDestroy(dsigCtx); |
