Details
enum xmlSecDSigStatus
typedef enum {
xmlSecDSigStatusUnknown = 0,
xmlSecDSigStatusSucceeded,
xmlSecDSigStatusInvalid
} xmlSecDSigStatus; |
XML Digital signature processing status.
XMLSEC_DSIG_FLAGS_IGNORE_MANIFESTS
#define XMLSEC_DSIG_FLAGS_IGNORE_MANIFESTS 0x00000001 |
If this flag is set then <dsig:Manifests/> nodes will not be processed.
XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES
#define XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES 0x00000002 |
If this flag is set then pre-digest buffer for <dsig:Reference/> child
of <dsig:KeyInfo/> element will be stored in xmlSecDSigCtx.
XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES
#define XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES 0x00000004 |
If this flag is set then pre-digest buffer for <dsig:Reference/> child
of <dsig:Manifest/> element will be stored in xmlSecDSigCtx.
XMLSEC_DSIG_FLAGS_STORE_SIGNATURE
#define XMLSEC_DSIG_FLAGS_STORE_SIGNATURE 0x00000008 |
If this flag is set then pre-signature buffer for <dsig:SignedInfo/>
element processing will be stored in xmlSecDSigCtx.
struct xmlSecDSigCtx
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;
xmlSecTransformCtxPreExecuteCallback referencePreExecuteCallback;
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;
/* reserved for future */
void* reserved0;
void* reserved1;
}; |
XML DSig processing context.
xmlSecDSigCtxCreate ()
Creates <dsig:Signature/> element processing context.
The caller is responsible for destroying returend object by calling
xmlSecDSigCtxDestroy function.
keysMngr : |
the pointer to keys manager. |
Returns : |
pointer to newly allocated context object or NULL if an error
occurs. |
xmlSecDSigCtxSign ()
Signs the data as described in tmpl node.
xmlSecDSigCtxVerify ()
Vaidates signature in the node. The verification result is returned
in status member of the dsigCtx object.
xmlSecDSigCtxEnableReferenceTransform ()
int xmlSecDSigCtxEnableReferenceTransform
(xmlSecDSigCtxPtr dsigCtx,
xmlSecTransformId transformId); |
Enables transformId for <dsig:Reference/> elements processing.
xmlSecDSigCtxEnableSignatureTransform ()
int xmlSecDSigCtxEnableSignatureTransform
(xmlSecDSigCtxPtr dsigCtx,
xmlSecTransformId transformId); |
Enables transformId for <dsig:SignedInfo/> element processing.
xmlSecDSigCtxDebugDump ()
Prints the debug information about dsigCtx to output.
xmlSecDSigCtxDebugXmlDump ()
Prints the debug information about dsigCtx to output in XML format.
enum xmlSecDSigReferenceOrigin
typedef enum {
xmlSecDSigReferenceOriginSignedInfo,
xmlSecDSigReferenceOriginManifest
} xmlSecDSigReferenceOrigin; |
The possible <dsig:Reference/> node locations: in the <dsig:SignedInfo/>
node or in the <dsig:Manifest/> node.
struct xmlSecDSigReferenceCtx
struct xmlSecDSigReferenceCtx {
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;
}; |
The <dsig:Reference/> processing context.
xmlSecDSigReferenceCtxProcessNode ()
The Reference Element (http://www.w3.org/TR/xmldsig-core/sec-Reference)
Reference is an element that may occur one or more times. It specifies
a digest algorithm and digest value, and optionally an identifier of the
object being signed, the type of the object, and/or a list of transforms
to be applied prior to digesting. The identification (URI) and transforms
describe how the digested content (i.e., the input to the digest method)
was created. The Type attribute facilitates the processing of referenced
data. For example, while this specification makes no requirements over
external data, an application may wish to signal that the referent is a
Manifest. An optional ID attribute permits a Reference to be referenced
from elsewhere.
xmlSecDSigReferenceCtxDebugDump ()
Prints debug information about dsigRefCtx to output.
xmlSecDSigReferenceCtxDebugXmlDump ()
Prints debug information about dsigRefCtx to output in output format.
xmlSecDSigReferenceCtxListId
#define xmlSecDSigReferenceCtxListId |
The references list klass.
xmlSecDSigReferenceCtxListGetKlass ()
xmlSecPtrListId xmlSecDSigReferenceCtxListGetKlass
(void); |
The <dsig:Reference/> element processing contexts list klass.