diff options
| author | Frederic Peters <fpeters@entrouvert.com> | 2008-01-23 12:37:12 +0000 |
|---|---|---|
| committer | Frederic Peters <fpeters@entrouvert.com> | 2008-01-23 12:37:12 +0000 |
| commit | 6d2d5b504882761b8b07e33df77a2930644fb3ff (patch) | |
| tree | 5192c1ed0bbeeebf20b057435a79cad9410018ff | |
| parent | 6b259af1aa455aa1edb5b87d1a85d379ea42a9b7 (diff) | |
| download | lasso-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.c | 9 | ||||
| -rw-r--r-- | lasso/xml/saml-2.0/samlp2_request_abstract.c | 9 | ||||
| -rw-r--r-- | lasso/xml/saml-2.0/samlp2_status_response.c | 9 |
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; |
