summaryrefslogtreecommitdiff
path: root/include/xmlsec/xmldsig.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/xmlsec/xmldsig.h')
-rw-r--r--include/xmlsec/xmldsig.h282
1 files changed, 141 insertions, 141 deletions
diff --git a/include/xmlsec/xmldsig.h b/include/xmlsec/xmldsig.h
index 689980b4..b2620784 100644
--- a/include/xmlsec/xmldsig.h
+++ b/include/xmlsec/xmldsig.h
@@ -1,26 +1,26 @@
-/**
+/**
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* "XML Digital Signature" implementation
* http://www.w3.org/TR/xmldsig-core/
* http://www.w3.org/Signature/Overview.html
- *
+ *
* This is free software; see Copyright file in the source
* distribution for preciese wording.
- *
+ *
* Copyright (C) 2002-2003 Aleksey Sanin <aleksey@aleksey.com>
*/
#ifndef __XMLSEC_XMLDSIG_H__
-#define __XMLSEC_XMLDSIG_H__
+#define __XMLSEC_XMLDSIG_H__
#ifndef XMLSEC_NO_XMLDSIG
#ifdef __cplusplus
extern "C" {
-#endif /* __cplusplus */
+#endif /* __cplusplus */
#include <libxml/tree.h>
-#include <libxml/parser.h>
+#include <libxml/parser.h>
#include <xmlsec/xmlsec.h>
@@ -31,14 +31,14 @@ extern "C" {
#include <xmlsec/keyinfo.h>
#include <xmlsec/transforms.h>
-typedef struct _xmlSecDSigReferenceCtx xmlSecDSigReferenceCtx,
- *xmlSecDSigReferenceCtxPtr;
+typedef struct _xmlSecDSigReferenceCtx xmlSecDSigReferenceCtx,
+ *xmlSecDSigReferenceCtxPtr;
/**
* xmlSecDSigStatus:
- * @xmlSecDSigStatusUnknown: the status is unknow.
- * @xmlSecDSigStatusSucceeded: the processing succeeded.
- * @xmlSecDSigStatusInvalid: the processing failed.
+ * @xmlSecDSigStatusUnknown: the status is unknow.
+ * @xmlSecDSigStatusSucceeded: the processing succeeded.
+ * @xmlSecDSigStatusInvalid: the processing failed.
*
* XML Digital signature processing status.
*/
@@ -59,7 +59,7 @@ typedef enum {
*
* If this flag is set then <dsig:Manifests/> nodes will not be processed.
*/
-#define XMLSEC_DSIG_FLAGS_IGNORE_MANIFESTS 0x00000001
+#define XMLSEC_DSIG_FLAGS_IGNORE_MANIFESTS 0x00000001
/**
* XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES:
@@ -67,7 +67,7 @@ typedef enum {
* If this flag is set then pre-digest buffer for <dsig:Reference/> child
* of <dsig:KeyInfo/> element will be stored in #xmlSecDSigCtx.
*/
-#define XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES 0x00000002
+#define XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES 0x00000002
/**
* XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES:
@@ -75,7 +75,7 @@ typedef enum {
* If this flag is set then pre-digest buffer for <dsig:Reference/> child
* of <dsig:Manifest/> element will be stored in #xmlSecDSigCtx.
*/
-#define XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES 0x00000004
+#define XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES 0x00000004
/**
* XMLSEC_DSIG_FLAGS_STORE_SIGNATURE:
@@ -83,103 +83,103 @@ typedef enum {
* If this flag is set then pre-signature buffer for <dsig:SignedInfo/>
* element processing will be stored in #xmlSecDSigCtx.
*/
-#define XMLSEC_DSIG_FLAGS_STORE_SIGNATURE 0x00000008
+#define XMLSEC_DSIG_FLAGS_STORE_SIGNATURE 0x00000008
/**
* XMLSEC_DSIG_FLAGS_USE_VISA3D_HACK:
*
* If this flag is set then URI ID references are resolved directly
* without using XPointers. This allows one to sign/verify Visa3D
- * documents that don't follow XML, XPointer and XML DSig specifications.
+ * documents that don't follow XML, XPointer and XML DSig specifications.
*/
-#define XMLSEC_DSIG_FLAGS_USE_VISA3D_HACK 0x00000010
+#define XMLSEC_DSIG_FLAGS_USE_VISA3D_HACK 0x00000010
/**
* xmlSecDSigCtx:
- * @userData: the pointer to user data (xmlsec and xmlsec-crypto libraries
- * never touches this).
- * @flags: the XML Digital Signature processing flags.
- * @flags2: the XML Digital Signature processing flags.
- * @keyInfoReadCtx: the reading key context.
- * @keyInfoWriteCtx: the writing key context (not used for signature verification).
- * @transformCtx: the <dsig:SignedInfo/> node processing context.
- * @enabledReferenceUris: the URI types allowed for <dsig:Reference/> node.
- * @enabledReferenceTransforms: the list of transforms allowed in <dsig:Reference/> node.
+ * @userData: the pointer to user data (xmlsec and xmlsec-crypto libraries
+ * never touches this).
+ * @flags: the XML Digital Signature processing flags.
+ * @flags2: the XML Digital Signature processing flags.
+ * @keyInfoReadCtx: the reading key context.
+ * @keyInfoWriteCtx: the writing key context (not used for signature verification).
+ * @transformCtx: the <dsig:SignedInfo/> node processing context.
+ * @enabledReferenceUris: the URI types allowed for <dsig:Reference/> node.
+ * @enabledReferenceTransforms: the list of transforms allowed in <dsig:Reference/> node.
* @referencePreExecuteCallback:the callback for <dsig:Reference/> node processing.
- * @defSignMethodId: the default signing method klass.
- * @defC14NMethodId: the default c14n method klass.
- * @defDigestMethodId: the default digest method klass.
- * @signKey: the signature key; application may set #signKey
- * before calling #xmlSecDSigCtxSign or #xmlSecDSigCtxVerify
- * functions.
- * @operation: the operation: sign or verify.
- * @result: the pointer to signature (not valid for signature verificaction).
- * @status: the <dsig:Signatuire/> procesisng status.
- * @signMethod: the pointer to signature transform.
- * @c14nMethod: the pointer to c14n transform.
- * @preSignMemBufMethod: the pointer to binary buffer right before signature
- * (valid only if #XMLSEC_DSIG_FLAGS_STORE_SIGNATURE flag is set).
- * @signValueNode: the pointer to <dsig:SignatureValue/> node.
- * @id: the pointer to Id attribute of <dsig:Signature/> node.
- * @signedInfoReferences: the list of references in <dsig:SignedInfo/> node.
- * @manifestReferences: the list of references in <dsig:Manifest/> nodes.
- * @reserved0: reserved for the future.
- * @reserved1: reserved for the future.
+ * @defSignMethodId: the default signing method klass.
+ * @defC14NMethodId: the default c14n method klass.
+ * @defDigestMethodId: the default digest method klass.
+ * @signKey: the signature key; application may set #signKey
+ * before calling #xmlSecDSigCtxSign or #xmlSecDSigCtxVerify
+ * functions.
+ * @operation: the operation: sign or verify.
+ * @result: the pointer to signature (not valid for signature verificaction).
+ * @status: the <dsig:Signatuire/> procesisng status.
+ * @signMethod: the pointer to signature transform.
+ * @c14nMethod: the pointer to c14n transform.
+ * @preSignMemBufMethod: the pointer to binary buffer right before signature
+ * (valid only if #XMLSEC_DSIG_FLAGS_STORE_SIGNATURE flag is set).
+ * @signValueNode: the pointer to <dsig:SignatureValue/> node.
+ * @id: the pointer to Id attribute of <dsig:Signature/> node.
+ * @signedInfoReferences: the list of references in <dsig:SignedInfo/> node.
+ * @manifestReferences: the list of references in <dsig:Manifest/> nodes.
+ * @reserved0: reserved for the future.
+ * @reserved1: reserved for the future.
*
- * XML DSig processing context.
+ * XML DSig processing context.
*/
struct _xmlSecDSigCtx {
/* these data user can set before performing the operation */
- void* userData;
- unsigned int flags;
- unsigned int flags2;
- xmlSecKeyInfoCtx keyInfoReadCtx;
- xmlSecKeyInfoCtx keyInfoWriteCtx;
- xmlSecTransformCtx transformCtx;
- xmlSecTransformUriType enabledReferenceUris;
- xmlSecPtrListPtr enabledReferenceTransforms;
+ void* userData;
+ unsigned int flags;
+ unsigned int flags2;
+ xmlSecKeyInfoCtx keyInfoReadCtx;
+ xmlSecKeyInfoCtx keyInfoWriteCtx;
+ xmlSecTransformCtx transformCtx;
+ xmlSecTransformUriType enabledReferenceUris;
+ xmlSecPtrListPtr enabledReferenceTransforms;
xmlSecTransformCtxPreExecuteCallback referencePreExecuteCallback;
- xmlSecTransformId defSignMethodId;
- xmlSecTransformId defC14NMethodId;
- xmlSecTransformId defDigestMethodId;
-
+ xmlSecTransformId defSignMethodId;
+ xmlSecTransformId defC14NMethodId;
+ xmlSecTransformId defDigestMethodId;
+
/* these data are returned */
- xmlSecKeyPtr signKey;
- xmlSecTransformOperation operation;
- xmlSecBufferPtr result;
- xmlSecDSigStatus status;
- xmlSecTransformPtr signMethod;
- xmlSecTransformPtr c14nMethod;
- xmlSecTransformPtr preSignMemBufMethod;
- xmlNodePtr signValueNode;
- xmlChar* id;
- xmlSecPtrList signedInfoReferences;
- xmlSecPtrList manifestReferences;
+ xmlSecKeyPtr signKey;
+ xmlSecTransformOperation operation;
+ xmlSecBufferPtr result;
+ xmlSecDSigStatus status;
+ xmlSecTransformPtr signMethod;
+ xmlSecTransformPtr c14nMethod;
+ xmlSecTransformPtr preSignMemBufMethod;
+ xmlNodePtr signValueNode;
+ xmlChar* id;
+ xmlSecPtrList signedInfoReferences;
+ xmlSecPtrList manifestReferences;
/* reserved for future */
- void* reserved0;
- void* reserved1;
-};
+ void* reserved0;
+ void* reserved1;
+};
/* constructor/destructor */
-XMLSEC_EXPORT xmlSecDSigCtxPtr xmlSecDSigCtxCreate (xmlSecKeysMngrPtr keysMngr);
-XMLSEC_EXPORT void xmlSecDSigCtxDestroy (xmlSecDSigCtxPtr dsigCtx);
-XMLSEC_EXPORT int xmlSecDSigCtxInitialize (xmlSecDSigCtxPtr dsigCtx,
- xmlSecKeysMngrPtr keysMngr);
-XMLSEC_EXPORT void xmlSecDSigCtxFinalize (xmlSecDSigCtxPtr dsigCtx);
-XMLSEC_EXPORT int xmlSecDSigCtxSign (xmlSecDSigCtxPtr dsigCtx,
- xmlNodePtr tmpl);
-XMLSEC_EXPORT int xmlSecDSigCtxVerify (xmlSecDSigCtxPtr dsigCtx,
- xmlNodePtr node);
-XMLSEC_EXPORT int xmlSecDSigCtxEnableReferenceTransform(xmlSecDSigCtxPtr dsigCtx,
- xmlSecTransformId transformId);
-XMLSEC_EXPORT int xmlSecDSigCtxEnableSignatureTransform(xmlSecDSigCtxPtr dsigCtx,
- xmlSecTransformId transformId);
-XMLSEC_EXPORT xmlSecBufferPtr xmlSecDSigCtxGetPreSignBuffer (xmlSecDSigCtxPtr dsigCtx);
-XMLSEC_EXPORT void xmlSecDSigCtxDebugDump (xmlSecDSigCtxPtr dsigCtx,
- FILE* output);
-XMLSEC_EXPORT void xmlSecDSigCtxDebugXmlDump (xmlSecDSigCtxPtr dsigCtx,
- FILE* output);
+XMLSEC_EXPORT xmlSecDSigCtxPtr xmlSecDSigCtxCreate (xmlSecKeysMngrPtr keysMngr);
+XMLSEC_EXPORT void xmlSecDSigCtxDestroy (xmlSecDSigCtxPtr dsigCtx);
+XMLSEC_EXPORT int xmlSecDSigCtxInitialize (xmlSecDSigCtxPtr dsigCtx,
+ xmlSecKeysMngrPtr keysMngr);
+XMLSEC_EXPORT void xmlSecDSigCtxFinalize (xmlSecDSigCtxPtr dsigCtx);
+XMLSEC_EXPORT int xmlSecDSigCtxSign (xmlSecDSigCtxPtr dsigCtx,
+ xmlNodePtr tmpl);
+XMLSEC_EXPORT int xmlSecDSigCtxVerify (xmlSecDSigCtxPtr dsigCtx,
+ xmlNodePtr node);
+XMLSEC_EXPORT int xmlSecDSigCtxEnableReferenceTransform(xmlSecDSigCtxPtr dsigCtx,
+ xmlSecTransformId transformId);
+XMLSEC_EXPORT int xmlSecDSigCtxEnableSignatureTransform(xmlSecDSigCtxPtr dsigCtx,
+ xmlSecTransformId transformId);
+XMLSEC_EXPORT xmlSecBufferPtr xmlSecDSigCtxGetPreSignBuffer (xmlSecDSigCtxPtr dsigCtx);
+XMLSEC_EXPORT void xmlSecDSigCtxDebugDump (xmlSecDSigCtxPtr dsigCtx,
+ FILE* output);
+XMLSEC_EXPORT void xmlSecDSigCtxDebugXmlDump (xmlSecDSigCtxPtr dsigCtx,
+ FILE* output);
/**************************************************************************
@@ -190,9 +190,9 @@ XMLSEC_EXPORT void xmlSecDSigCtxDebugXmlDump (xmlSecDSigCtxPt
/**
* xmlSecDSigReferenceOrigin:
* @xmlSecDSigReferenceOriginSignedInfo:reference in <dsig:SignedInfo> node.
- * @xmlSecDSigReferenceOriginManifest: reference <dsig:Manifest> node.
- *
- * The possible <dsig:Reference/> node locations: in the <dsig:SignedInfo/>
+ * @xmlSecDSigReferenceOriginManifest: reference <dsig:Manifest> node.
+ *
+ * The possible <dsig:Reference/> node locations: in the <dsig:SignedInfo/>
* node or in the <dsig:Manifest/> node.
*/
typedef enum {
@@ -202,60 +202,60 @@ typedef enum {
/**
* xmlSecDSigReferenceCtx:
- * @userData: the pointer to user data (xmlsec and xmlsec-crypto libraries
- * never touches this).
- * @dsigCtx: the pointer to "parent" <dsig:Signature/> processing context.
- * @origin: the signature origin (<dsig:SignedInfo/> or <dsig:Manifest/>).
- * @transformCtx: the reference processing transforms context.
- * @digestMethod: the pointer to digest transform.
- * @result: the pointer to digest result.
- * @status: the reference processing status.
- * @preDigestMemBufMethod: the pointer to binary buffer right before digest
- * (valid only if either
- * #XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES or
- * #XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES flags are set).
- * @id: the <dsig:Reference/> node ID attribute.
- * @uri: the <dsig:Reference/> node URI attribute.
- * @type: the <dsig:Reference/> node Type attribute.
- * @reserved0: reserved for the future.
- * @reserved1: reserved for the future.
+ * @userData: the pointer to user data (xmlsec and xmlsec-crypto libraries
+ * never touches this).
+ * @dsigCtx: the pointer to "parent" <dsig:Signature/> processing context.
+ * @origin: the signature origin (<dsig:SignedInfo/> or <dsig:Manifest/>).
+ * @transformCtx: the reference processing transforms context.
+ * @digestMethod: the pointer to digest transform.
+ * @result: the pointer to digest result.
+ * @status: the reference processing status.
+ * @preDigestMemBufMethod: the pointer to binary buffer right before digest
+ * (valid only if either
+ * #XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES or
+ * #XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES flags are set).
+ * @id: the <dsig:Reference/> node ID attribute.
+ * @uri: the <dsig:Reference/> node URI attribute.
+ * @type: the <dsig:Reference/> node Type attribute.
+ * @reserved0: reserved for the future.
+ * @reserved1: reserved for the future.
*
* The <dsig:Reference/> processing context.
*/
struct _xmlSecDSigReferenceCtx {
- void* userData;
- xmlSecDSigCtxPtr dsigCtx;
- xmlSecDSigReferenceOrigin origin;
- xmlSecTransformCtx transformCtx;
- xmlSecTransformPtr digestMethod;
-
- xmlSecBufferPtr result;
- xmlSecDSigStatus status;
- xmlSecTransformPtr preDigestMemBufMethod;
- xmlChar* id;
- xmlChar* uri;
- xmlChar* type;
+ void* userData;
+ xmlSecDSigCtxPtr dsigCtx;
+ xmlSecDSigReferenceOrigin origin;
+ xmlSecTransformCtx transformCtx;
+ xmlSecTransformPtr digestMethod;
+ xmlSecBufferPtr result;
+ xmlSecDSigStatus status;
+ xmlSecTransformPtr preDigestMemBufMethod;
+ xmlChar* id;
+ xmlChar* uri;
+ xmlChar* type;
+
/* reserved for future */
- void* reserved0;
- void* reserved1;
+ void* reserved0;
+ void* reserved1;
};
-XMLSEC_EXPORT xmlSecDSigReferenceCtxPtr xmlSecDSigReferenceCtxCreate(xmlSecDSigCtxPtr dsigCtx,
- xmlSecDSigReferenceOrigin origin);
-XMLSEC_EXPORT void xmlSecDSigReferenceCtxDestroy (xmlSecDSigReferenceCtxPtr dsigRefCtx);
-XMLSEC_EXPORT int xmlSecDSigReferenceCtxInitialize(xmlSecDSigReferenceCtxPtr dsigRefCtx,
- xmlSecDSigCtxPtr dsigCtx,
- xmlSecDSigReferenceOrigin origin);
-XMLSEC_EXPORT void xmlSecDSigReferenceCtxFinalize (xmlSecDSigReferenceCtxPtr dsigRefCtx);
-XMLSEC_EXPORT int xmlSecDSigReferenceCtxProcessNode(xmlSecDSigReferenceCtxPtr dsigRefCtx,
- xmlNodePtr node);
-XMLSEC_EXPORT xmlSecBufferPtr xmlSecDSigReferenceCtxGetPreDigestBuffer
- (xmlSecDSigReferenceCtxPtr dsigRefCtx);
-XMLSEC_EXPORT void xmlSecDSigReferenceCtxDebugDump (xmlSecDSigReferenceCtxPtr dsigRefCtx,
- FILE* output);
-XMLSEC_EXPORT void xmlSecDSigReferenceCtxDebugXmlDump(xmlSecDSigReferenceCtxPtr dsigRefCtx,
- FILE* output);
+XMLSEC_EXPORT xmlSecDSigReferenceCtxPtr xmlSecDSigReferenceCtxCreate(xmlSecDSigCtxPtr dsigCtx,
+ xmlSecDSigReferenceOrigin origin);
+XMLSEC_EXPORT void xmlSecDSigReferenceCtxDestroy (xmlSecDSigReferenceCtxPtr dsigRefCtx);
+XMLSEC_EXPORT int xmlSecDSigReferenceCtxInitialize(xmlSecDSigReferenceCtxPtr dsigRefCtx,
+ xmlSecDSigCtxPtr dsigCtx,
+ xmlSecDSigReferenceOrigin origin);
+XMLSEC_EXPORT void xmlSecDSigReferenceCtxFinalize (xmlSecDSigReferenceCtxPtr dsigRefCtx);
+XMLSEC_EXPORT int xmlSecDSigReferenceCtxProcessNode(xmlSecDSigReferenceCtxPtr dsigRefCtx,
+ xmlNodePtr node);
+XMLSEC_EXPORT xmlSecBufferPtr xmlSecDSigReferenceCtxGetPreDigestBuffer
+ (xmlSecDSigReferenceCtxPtr dsigRefCtx);
+XMLSEC_EXPORT void xmlSecDSigReferenceCtxDebugDump (xmlSecDSigReferenceCtxPtr dsigRefCtx,
+ FILE* output);
+XMLSEC_EXPORT void xmlSecDSigReferenceCtxDebugXmlDump(xmlSecDSigReferenceCtxPtr dsigRefCtx,
+ FILE* output);
/**************************************************************************
*
@@ -268,8 +268,8 @@ XMLSEC_EXPORT void xmlSecDSigReferenceCtxDebugXmlDump(xmlSecDSigRef
* The references list klass.
*/
#define xmlSecDSigReferenceCtxListId \
- xmlSecDSigReferenceCtxListGetKlass()
-XMLSEC_EXPORT xmlSecPtrListId xmlSecDSigReferenceCtxListGetKlass(void);
+ xmlSecDSigReferenceCtxListGetKlass()
+XMLSEC_EXPORT xmlSecPtrListId xmlSecDSigReferenceCtxListGetKlass(void);
#ifdef __cplusplus
}