summaryrefslogtreecommitdiffstats
path: root/lasso/xml/private.h
diff options
context:
space:
mode:
Diffstat (limited to 'lasso/xml/private.h')
-rw-r--r--lasso/xml/private.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/lasso/xml/private.h b/lasso/xml/private.h
index 858632f5..1e4bf033 100644
--- a/lasso/xml/private.h
+++ b/lasso/xml/private.h
@@ -57,6 +57,12 @@ typedef enum {
SNIPPET_ALLOW_TEXT = 1 << 26 /* allow text childs in list of nodes */
} SnippetType;
+typedef enum {
+ NO_OPTION = 0,
+ NO_SINGLE_REFERENCE = 1 /* SAML signature should contain a single reference,
+ * but WS-Security signatures can contain many */
+} SignatureVerificationOption;
+
struct XmlSnippet {
char *name;
SnippetType type;
@@ -121,6 +127,10 @@ char** urlencoded_to_strings(const char *str);
int lasso_sign_node(xmlNode *xmlnode, const char *id_attr_name, const char *id_value,
const char *private_key_file, const char *certificate_file);
+gboolean lasso_verify_signature(xmlNode *signed_node, const char *id_attr_name,
+ xmlSecKeysMngr *keys_manager, xmlSecKey *public_key,
+ SignatureVerificationOption signature_verification_option,
+ GList **uri_references);
void xmlCleanNs(xmlNode *root_node);
void xml_insure_namespace(xmlNode *xmlnode, xmlNs *ns, gboolean force,