From 2183c855a6bbbc845a1f77693fe85eb422709a9f Mon Sep 17 00:00:00 2001 From: Damien Laniel Date: Thu, 9 Nov 2006 10:09:58 +0000 Subject: load encryption private key --- lasso/id-ff/server.c | 16 ++++++++++++++++ lasso/id-ff/server.h | 2 ++ 2 files changed, 18 insertions(+) diff --git a/lasso/id-ff/server.c b/lasso/id-ff/server.c index 29bada7c..66f182a1 100644 --- a/lasso/id-ff/server.c +++ b/lasso/id-ff/server.c @@ -33,6 +33,7 @@ struct _LassoServerPrivate { gboolean dispose_has_run; + xmlSecKey *encryption_private_key; }; /*****************************************************************************/ @@ -121,6 +122,21 @@ lasso_server_destroy(LassoServer *server) lasso_node_destroy(LASSO_NODE(server)); } +gboolean +lasso_set_encryption_private_key(LassoServer *server, gchar *file_name) +{ + LassoPemFileType file_type; + + server->private_data->encryption_private_key = NULL; + file_type = lasso_get_pem_file_type(file_name); + if (file_type == LASSO_PEM_FILE_TYPE_PRIVATE_KEY) { + server->private_data->encryption_private_key = xmlSecCryptoAppKeyLoad(file_name, + xmlSecKeyDataFormatPem, NULL, NULL, NULL); + } + + return (server->private_data->encryption_private_key != NULL); +} + /*****************************************************************************/ /* private methods */ diff --git a/lasso/id-ff/server.h b/lasso/id-ff/server.h index dee38269..da84d5ef 100644 --- a/lasso/id-ff/server.h +++ b/lasso/id-ff/server.h @@ -96,6 +96,8 @@ LASSO_EXPORT LassoProvider* lasso_server_get_provider(LassoServer *server, gchar LASSO_EXPORT LassoDiscoServiceInstance* lasso_server_get_service(LassoServer *server, gchar *serviceType); +LASSO_EXPORT gboolean lasso_set_encryption_private_key(LassoServer *server, gchar *file_name); + #ifdef __cplusplus } #endif /* __cplusplus */ -- cgit