summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDamien Laniel <dlaniel@entrouvert.com>2006-11-09 10:09:58 +0000
committerDamien Laniel <dlaniel@entrouvert.com>2006-11-09 10:09:58 +0000
commit2183c855a6bbbc845a1f77693fe85eb422709a9f (patch)
tree071dab32e529d83b49a2ff5d3c99c21ef62909bb
parentfae268678ade686c241864b26a4a0852e793ee64 (diff)
downloadlasso-2183c855a6bbbc845a1f77693fe85eb422709a9f.tar.gz
lasso-2183c855a6bbbc845a1f77693fe85eb422709a9f.tar.xz
lasso-2183c855a6bbbc845a1f77693fe85eb422709a9f.zip
load encryption private key
-rw-r--r--lasso/id-ff/server.c16
-rw-r--r--lasso/id-ff/server.h2
2 files changed, 18 insertions, 0 deletions
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 */