summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederic Peters <fpeters@entrouvert.com>2008-01-23 12:37:12 +0000
committerFrederic Peters <fpeters@entrouvert.com>2008-01-23 12:37:12 +0000
commit6d2d5b504882761b8b07e33df77a2930644fb3ff (patch)
tree5192c1ed0bbeeebf20b057435a79cad9410018ff
parent6b259af1aa455aa1edb5b87d1a85d379ea42a9b7 (diff)
downloadlasso-6d2d5b504882761b8b07e33df77a2930644fb3ff.tar.gz
lasso-6d2d5b504882761b8b07e33df77a2930644fb3ff.tar.xz
lasso-6d2d5b504882761b8b07e33df77a2930644fb3ff.zip
warns when signing saml2 elements would fail because private key is missing
-rw-r--r--lasso/xml/saml-2.0/saml2_assertion.c9
-rw-r--r--lasso/xml/saml-2.0/samlp2_request_abstract.c9
-rw-r--r--lasso/xml/saml-2.0/samlp2_status_response.c9
3 files changed, 21 insertions, 6 deletions
diff --git a/lasso/xml/saml-2.0/saml2_assertion.c b/lasso/xml/saml-2.0/saml2_assertion.c
index 244f5edf..663a9a5d 100644
--- a/lasso/xml/saml-2.0/saml2_assertion.c
+++ b/lasso/xml/saml-2.0/saml2_assertion.c
@@ -116,9 +116,14 @@ get_xmlNode(LassoNode *node, gboolean lasso_dump)
xmlnode = parent_class->get_xmlNode(node, lasso_dump);
if (lasso_dump == FALSE && request->sign_type) {
- rc = lasso_sign_node(xmlnode, "ID", request->ID,
+ if (request->private_key_file == NULL) {
+ message(G_LOG_LEVEL_WARNING,
+ "No Private Key set for signing samlp2:RequestAbstract");
+ } else {
+ rc = lasso_sign_node(xmlnode, "ID", request->ID,
request->private_key_file, request->certificate_file);
- /* signature may have failed; what to do ? */
+ /* signature may have failed; what to do ? */
+ }
}
return xmlnode;
diff --git a/lasso/xml/saml-2.0/samlp2_request_abstract.c b/lasso/xml/saml-2.0/samlp2_request_abstract.c
index bfb60ea5..b4cf823c 100644
--- a/lasso/xml/saml-2.0/samlp2_request_abstract.c
+++ b/lasso/xml/saml-2.0/samlp2_request_abstract.c
@@ -96,9 +96,14 @@ get_xmlNode(LassoNode *node, gboolean lasso_dump)
xmlnode = parent_class->get_xmlNode(node, lasso_dump);
if (lasso_dump == FALSE && request->sign_type) {
- rc = lasso_sign_node(xmlnode, "ID", request->ID,
+ if (request->private_key_file == NULL) {
+ message(G_LOG_LEVEL_WARNING,
+ "No Private Key set for signing samlp2:RequestAbstract");
+ } else {
+ rc = lasso_sign_node(xmlnode, "ID", request->ID,
request->private_key_file, request->certificate_file);
- /* signature may have failed; what to do ? */
+ /* signature may have failed; what to do ? */
+ }
}
return xmlnode;
diff --git a/lasso/xml/saml-2.0/samlp2_status_response.c b/lasso/xml/saml-2.0/samlp2_status_response.c
index 4afc0b55..caa83255 100644
--- a/lasso/xml/saml-2.0/samlp2_status_response.c
+++ b/lasso/xml/saml-2.0/samlp2_status_response.c
@@ -131,9 +131,14 @@ get_xmlNode(LassoNode *node, gboolean lasso_dump)
xmlnode = parent_class->get_xmlNode(node, lasso_dump);
if (lasso_dump == FALSE && request->sign_type) {
- rc = lasso_sign_node(xmlnode, "ID", request->ID,
+ if (request->private_key_file == NULL) {
+ message(G_LOG_LEVEL_WARNING,
+ "No Private Key set for signing samlp2:RequestAbstract");
+ } else {
+ rc = lasso_sign_node(xmlnode, "ID", request->ID,
request->private_key_file, request->certificate_file);
- /* signature may have failed; what to do ? */
+ /* signature may have failed; what to do ? */
+ }
}
return xmlnode;