XML Security Library

LibXML2
LibXSLT
OpenSSL

templates

Name

templates -- 

Synopsis


xmlNodePtr  xmlSecTmplSignatureCreate       (xmlDocPtr doc,
                                             xmlSecTransformId c14nMethodId,
                                             xmlSecTransformId signMethodId,
                                             const xmlChar *id);
xmlNodePtr  xmlSecTmplSignatureEnsureKeyInfo
                                            (xmlNodePtr signNode,
                                             const xmlChar *id);
xmlNodePtr  xmlSecTmplSignatureAddReference (xmlNodePtr signNode,
                                             xmlSecTransformId digestMethodId,
                                             const xmlChar *id,
                                             const xmlChar *uri,
                                             const xmlChar *type);
xmlNodePtr  xmlSecTmplSignatureAddObject    (xmlNodePtr signNode,
                                             const xmlChar *id,
                                             const xmlChar *mimeType,
                                             const xmlChar *encoding);
xmlNodePtr  xmlSecTmplSignatureGetSignMethodNode
                                            (xmlNodePtr signNode);
xmlNodePtr  xmlSecTmplSignatureGetC14NMethodNode
                                            (xmlNodePtr signNode);
xmlNodePtr  xmlSecTmplReferenceAddTransform (xmlNodePtr referenceNode,
                                             xmlSecTransformId transformId);
xmlNodePtr  xmlSecTmplObjectAddSignProperties
                                            (xmlNodePtr objectNode,
                                             const xmlChar *id,
                                             const xmlChar *target);
xmlNodePtr  xmlSecTmplObjectAddManifest     (xmlNodePtr objectNode,
                                             const xmlChar *id);
xmlNodePtr  xmlSecTmplManifestAddReference  (xmlNodePtr manifestNode,
                                             xmlSecTransformId digestMethodId,
                                             const xmlChar *id,
                                             const xmlChar *uri,
                                             const xmlChar *type);
xmlNodePtr  xmlSecTmplEncDataCreate         (xmlDocPtr doc,
                                             xmlSecTransformId encMethodId,
                                             const xmlChar *id,
                                             const xmlChar *type,
                                             const xmlChar *mimeType,
                                             const xmlChar *encoding);
xmlNodePtr  xmlSecTmplEncDataEnsureKeyInfo  (xmlNodePtr encNode,
                                             const xmlChar *id);
xmlNodePtr  xmlSecTmplEncDataEnsureEncProperties
                                            (xmlNodePtr encNode,
                                             const xmlChar *id);
xmlNodePtr  xmlSecTmplEncDataAddEncProperty (xmlNodePtr encNode,
                                             const xmlChar *id,
                                             const xmlChar *target);
xmlNodePtr  xmlSecTmplEncDataEnsureCipherValue
                                            (xmlNodePtr encNode);
xmlNodePtr  xmlSecTmplEncDataEnsureCipherReference
                                            (xmlNodePtr encNode,
                                             const xmlChar *uri);
xmlNodePtr  xmlSecTmplEncDataGetEncMethodNode
                                            (xmlNodePtr encNode);
xmlNodePtr  xmlSecTmplCipherReferenceAddTransform
                                            (xmlNodePtr cipherReferenceNode,
                                             xmlSecTransformId transformId);
xmlNodePtr  xmlSecTmplReferenceListAddDataReference
                                            (xmlNodePtr encNode,
                                             const xmlChar *uri);
xmlNodePtr  xmlSecTmplReferenceListAddKeyReference
                                            (xmlNodePtr encNode,
                                             const xmlChar *uri);
xmlNodePtr  xmlSecTmplKeyInfoAddKeyName     (xmlNodePtr keyInfoNode,
                                             const xmlChar *name);
xmlNodePtr  xmlSecTmplKeyInfoAddKeyValue    (xmlNodePtr keyInfoNode);
xmlNodePtr  xmlSecTmplKeyInfoAddX509Data    (xmlNodePtr keyInfoNode);
xmlNodePtr  xmlSecTmplKeyInfoAddRetrievalMethod
                                            (xmlNodePtr keyInfoNode,
                                             const xmlChar *uri,
                                             const xmlChar *type);
xmlNodePtr  xmlSecTmplRetrievalMethodAddTransform
                                            (xmlNodePtr retrMethodNode,
                                             xmlSecTransformId transformId);
xmlNodePtr  xmlSecTmplKeyInfoAddEncryptedKey
                                            (xmlNodePtr keyInfoNode,
                                             xmlSecTransformId encMethodId,
                                             const xmlChar *id,
                                             const xmlChar *type,
                                             const xmlChar *recipient);
int         xmlSecTmplTransformAddHmacOutputLength
                                            (xmlNodePtr transformNode,
                                             xmlSecSize bitsLen);
int         xmlSecTmplTransformAddRsaOaepParam
                                            (xmlNodePtr transformNode,
                                             const xmlSecByte *buf,
                                             xmlSecSize size);
int         xmlSecTmplTransformAddXsltStylesheet
                                            (xmlNodePtr transformNode,
                                             const xmlChar *xslt);
int         xmlSecTmplTransformAddC14NInclNamespaces
                                            (xmlNodePtr transformNode,
                                             const xmlChar *prefixList);
int         xmlSecTmplTransformAddXPath     (xmlNodePtr transformNode,
                                             const xmlChar *expression,
                                             const xmlChar **nsList);
int         xmlSecTmplTransformAddXPath2    (xmlNodePtr transformNode,
                                             const xmlChar *type,
                                             const xmlChar *expression,
                                             const xmlChar **nsList);
int         xmlSecTmplTransformAddXPointer  (xmlNodePtr transformNode,
                                             const xmlChar *expression,
                                             const xmlChar **nsList);

Description

Details

xmlSecTmplSignatureCreate ()

xmlNodePtr  xmlSecTmplSignatureCreate       (xmlDocPtr doc,
                                             xmlSecTransformId c14nMethodId,
                                             xmlSecTransformId signMethodId,
                                             const xmlChar *id);

Creates new <dsig:Signature/> node with the mandatory <dsig:SignedInfo/>, <dsig:CanonicalizationMethod/>, <dsig:SignatureMethod/> and <dsig:SignatureValue/> children and sub-children. The application is responsible for inserting the returned node in the XML document.

doc :

the pointer to signature document or NULL; in the second case, application must later call xmlSetTreeDoc to ensure that all the children nodes have correct pointer to XML document.

c14nMethodId :

the signature canonicalization method.

signMethodId :

the signature method.

id :

the node id (may be NULL).

Returns :

the pointer to newly created <dsig:Signature/> node or NULL if an error occurs.


xmlSecTmplSignatureEnsureKeyInfo ()

xmlNodePtr  xmlSecTmplSignatureEnsureKeyInfo
                                            (xmlNodePtr signNode,
                                             const xmlChar *id);

Adds (if necessary) <dsig:KeyInfo/> node to the <dsig:Signature/> node signNode.

signNode :

the pointer to <dsig:Signature/> node.

id :

the node id (may be NULL).

Returns :

the pointer to newly created <dsig:KeyInfo/> node or NULL if an error occurs.


xmlSecTmplSignatureAddReference ()

xmlNodePtr  xmlSecTmplSignatureAddReference (xmlNodePtr signNode,
                                             xmlSecTransformId digestMethodId,
                                             const xmlChar *id,
                                             const xmlChar *uri,
                                             const xmlChar *type);

Adds <dsig:Reference/> node with given URI (uri), Id (id) and Type (type) attributes and the required children <dsig:DigestMethod/> and <dsig:DigestValue/> to the <dsig:SignedInfo/> child of signNode.

signNode :

the pointer to <dsig:Signature/> node.

digestMethodId :

the reference digest method.

id :

the node id (may be NULL).

uri :

the reference node uri (may be NULL).

type :

the reference node type (may be NULL).

Returns :

the pointer to newly created <dsig:Reference/> node or NULL if an error occurs.


xmlSecTmplSignatureAddObject ()

xmlNodePtr  xmlSecTmplSignatureAddObject    (xmlNodePtr signNode,
                                             const xmlChar *id,
                                             const xmlChar *mimeType,
                                             const xmlChar *encoding);

Adds <dsig:Object/> node to the <dsig:Signature/> node signNode.

signNode :

the pointer to <dsig:Signature/> node.

id :

the node id (may be NULL).

mimeType :

the object mime type (may be NULL).

encoding :

the object encoding (may be NULL).

Returns :

the pointer to newly created <dsig:Object/> node or NULL if an error occurs.


xmlSecTmplSignatureGetSignMethodNode ()

xmlNodePtr  xmlSecTmplSignatureGetSignMethodNode
                                            (xmlNodePtr signNode);

Gets pointer to <dsig:SignatureMethod/> child of <dsig:KeyInfo/> node.

signNode :

the pointer to <dsig:Signature /> node.

Returns :

pointer to <dsig:SignatureMethod /> node or NULL if an error occurs.


xmlSecTmplSignatureGetC14NMethodNode ()

xmlNodePtr  xmlSecTmplSignatureGetC14NMethodNode
                                            (xmlNodePtr signNode);

Gets pointer to <dsig:CanonicalizationMethod/> child of <dsig:KeyInfo/> node.

signNode :

the pointer to <dsig:Signature /> node.

Returns :

pointer to <dsig:CanonicalizationMethod /> node or NULL if an error occurs.


xmlSecTmplReferenceAddTransform ()

xmlNodePtr  xmlSecTmplReferenceAddTransform (xmlNodePtr referenceNode,
                                             xmlSecTransformId transformId);

Adds <dsig:Transform/> node to the <dsig:Reference/> node referenceNode.

referenceNode :

the pointer to <dsig:Reference/> node.

transformId :

the transform method id.

Returns :

the pointer to newly created <dsig:Transform/> node or NULL if an error occurs.


xmlSecTmplObjectAddSignProperties ()

xmlNodePtr  xmlSecTmplObjectAddSignProperties
                                            (xmlNodePtr objectNode,
                                             const xmlChar *id,
                                             const xmlChar *target);

Adds <dsig:SignatureProperties/> node to the <dsig:Object/> node objectNode.

objectNode :

the pointer to <dsig:Object/> node.

id :

the node id (may be NULL).

target :

the Target (may be NULL).

Returns :

the pointer to newly created <dsig:SignatureProperties/> node or NULL if an error occurs.


xmlSecTmplObjectAddManifest ()

xmlNodePtr  xmlSecTmplObjectAddManifest     (xmlNodePtr objectNode,
                                             const xmlChar *id);

Adds <dsig:Manifest/> node to the <dsig:Object/> node objectNode.

objectNode :

the pointer to <dsig:Object/> node.

id :

the node id (may be NULL).

Returns :

the pointer to newly created <dsig:Manifest/> node or NULL if an error occurs.


xmlSecTmplManifestAddReference ()

xmlNodePtr  xmlSecTmplManifestAddReference  (xmlNodePtr manifestNode,
                                             xmlSecTransformId digestMethodId,
                                             const xmlChar *id,
                                             const xmlChar *uri,
                                             const xmlChar *type);

Adds <dsig:Reference/> node with specified URI (uri), Id (id) and Type (type) attributes and the required children <dsig:DigestMethod/> and <dsig:DigestValue/> to the <dsig:Manifest/> node manifestNode.

manifestNode :

the pointer to <dsig:Manifest/> node.

digestMethodId :

the reference digest method.

id :

the node id (may be NULL).

uri :

the reference node uri (may be NULL).

type :

the reference node type (may be NULL).

Returns :

the pointer to newly created <dsig:Reference/> node or NULL if an error occurs.


xmlSecTmplEncDataCreate ()

xmlNodePtr  xmlSecTmplEncDataCreate         (xmlDocPtr doc,
                                             xmlSecTransformId encMethodId,
                                             const xmlChar *id,
                                             const xmlChar *type,
                                             const xmlChar *mimeType,
                                             const xmlChar *encoding);

Creates new <enc:EncryptedData /> node for encryption template.

doc :

the pointer to signature document or NULL; in the later case, application must later call xmlSetTreeDoc to ensure that all the children nodes have correct pointer to XML document.

encMethodId :

the encryption method (may be NULL).

id :

the Id attribute (optional).

type :

the Type attribute (optional)

mimeType :

the MimeType attribute (optional)

encoding :

the Encoding attribute (optional)

Returns :

the pointer newly created <enc:EncryptedData/> node or NULL if an error occurs.


xmlSecTmplEncDataEnsureKeyInfo ()

xmlNodePtr  xmlSecTmplEncDataEnsureKeyInfo  (xmlNodePtr encNode,
                                             const xmlChar *id);

Adds <dsig:KeyInfo/> to the <enc:EncryptedData/> node encNode.

encNode :

the pointer to <enc:EncryptedData/> node.

id :

the Id attrbibute (optional).

Returns :

the pointer to newly created <dsig:KeyInfo/> node or NULL if an error occurs.


xmlSecTmplEncDataEnsureEncProperties ()

xmlNodePtr  xmlSecTmplEncDataEnsureEncProperties
                                            (xmlNodePtr encNode,
                                             const xmlChar *id);

Adds <enc:EncryptionProperties/> node to the <enc:EncryptedData/> node encNode.

encNode :

the pointer to <enc:EncryptedData/> node.

id :

the Id attribute (optional).

Returns :

the pointer to newly created <enc:EncryptionProperties/> node or NULL if an error occurs.


xmlSecTmplEncDataAddEncProperty ()

xmlNodePtr  xmlSecTmplEncDataAddEncProperty (xmlNodePtr encNode,
                                             const xmlChar *id,
                                             const xmlChar *target);

Adds <enc:EncryptionProperty/> node (and the parent <enc:EncryptionProperties/> node if required) to the <enc:EncryptedData/> node encNode.

encNode :

the pointer to <enc:EncryptedData/> node.

id :

the Id attribute (optional).

target :

the Target attribute (optional).

Returns :

the pointer to newly created <enc:EncryptionProperty/> node or NULL if an error occurs.


xmlSecTmplEncDataEnsureCipherValue ()

xmlNodePtr  xmlSecTmplEncDataEnsureCipherValue
                                            (xmlNodePtr encNode);

Adds <enc:CipherValue/> to the <enc:EncryptedData/> node encNode.

encNode :

the pointer to <enc:EncryptedData/> node.

Returns :

the pointer to newly created <enc:CipherValue/> node or NULL if an error occurs.


xmlSecTmplEncDataEnsureCipherReference ()

xmlNodePtr  xmlSecTmplEncDataEnsureCipherReference
                                            (xmlNodePtr encNode,
                                             const xmlChar *uri);

Adds <enc:CipherReference/> node with specified URI attribute uri to the <enc:EncryptedData/> node encNode.

encNode :

the pointer to <enc:EncryptedData/> node.

uri :

the URI attribute (may be NULL).

Returns :

the pointer to newly created <enc:CipherReference/> node or NULL if an error occurs.


xmlSecTmplEncDataGetEncMethodNode ()

xmlNodePtr  xmlSecTmplEncDataGetEncMethodNode
                                            (xmlNodePtr encNode);

Gets pointer to <enc:EncrytpionMethod/> node.

encNode :

the pointer to <enc:EcnryptedData /> node.

Returns :

pointer to <enc:EncryptionMethod /> node or NULL if an error occurs.


xmlSecTmplCipherReferenceAddTransform ()

xmlNodePtr  xmlSecTmplCipherReferenceAddTransform
                                            (xmlNodePtr cipherReferenceNode,
                                             xmlSecTransformId transformId);

Adds <dsig:Transform/> node (and the parent <dsig:Transforms/> node) with specified transform methods transform to the <enc:CipherReference/> child node of the <enc:EncryptedData/> node encNode.

cipherReferenceNode :

the pointer to <enc:CipherReference/> node.

transformId :

the transform id.

Returns :

the pointer to newly created <dsig:Transform/> node or NULL if an error occurs.


xmlSecTmplReferenceListAddDataReference ()

xmlNodePtr  xmlSecTmplReferenceListAddDataReference
                                            (xmlNodePtr encNode,
                                             const xmlChar *uri);

Adds <enc:DataReference/> and the parent <enc:ReferenceList/> node (if needed).

encNode :

the pointer to <enc:EncryptedKey/> node.

uri :

uri to reference (optional)

Returns :

the pointer to newly created <enc:DataReference/> node or NULL if an error occurs.


xmlSecTmplReferenceListAddKeyReference ()

xmlNodePtr  xmlSecTmplReferenceListAddKeyReference
                                            (xmlNodePtr encNode,
                                             const xmlChar *uri);

Adds <enc:KeyReference/> and the parent <enc:ReferenceList/> node (if needed).

encNode :

the pointer to <enc:EncryptedKey/> node.

uri :

uri to reference (optional)

Returns :

the pointer to newly created <enc:KeyReference/> node or NULL if an error occurs.


xmlSecTmplKeyInfoAddKeyName ()

xmlNodePtr  xmlSecTmplKeyInfoAddKeyName     (xmlNodePtr keyInfoNode,
                                             const xmlChar *name);

Adds <dsig:KeyName/> node to the <dsig:KeyInfo/> node keyInfoNode.

keyInfoNode :

the pointer to <dsig:KeyInfo/> node.

name :

the key name (optional).

Returns :

the pointer to the newly created <dsig:KeyName/> node or NULL if an error occurs.


xmlSecTmplKeyInfoAddKeyValue ()

xmlNodePtr  xmlSecTmplKeyInfoAddKeyValue    (xmlNodePtr keyInfoNode);

Adds <dsig:KeyValue/> node to the <dsig:KeyInfo/> node keyInfoNode.

keyInfoNode :

the pointer to <dsig:KeyInfo/> node.

Returns :

the pointer to the newly created <dsig:KeyValue/> node or NULL if an error occurs.


xmlSecTmplKeyInfoAddX509Data ()

xmlNodePtr  xmlSecTmplKeyInfoAddX509Data    (xmlNodePtr keyInfoNode);

Adds <dsig:X509Data/> node to the <dsig:KeyInfo/> node keyInfoNode.

keyInfoNode :

the pointer to <dsig:KeyInfo/> node.

Returns :

the pointer to the newly created <dsig:X509Data/> node or NULL if an error occurs.


xmlSecTmplKeyInfoAddRetrievalMethod ()

xmlNodePtr  xmlSecTmplKeyInfoAddRetrievalMethod
                                            (xmlNodePtr keyInfoNode,
                                             const xmlChar *uri,
                                             const xmlChar *type);

Adds <dsig:RetrievalMethod/> node to the <dsig:KeyInfo/> node keyInfoNode.

keyInfoNode :

the pointer to <dsig:KeyInfo/> node.

uri :

the URI attribute (optional).

type :

the Type attribute(optional).

Returns :

the pointer to the newly created <dsig:RetrievalMethod/> node or NULL if an error occurs.


xmlSecTmplRetrievalMethodAddTransform ()

xmlNodePtr  xmlSecTmplRetrievalMethodAddTransform
                                            (xmlNodePtr retrMethodNode,
                                             xmlSecTransformId transformId);

Adds <dsig:Transform/> node (and the parent <dsig:Transforms/> node if required) to the <dsig:RetrievalMethod/> node retrMethod.

retrMethodNode :

the pointer to <dsig:RetrievalMethod/> node.

transformId :

the transform id.

Returns :

the pointer to the newly created <dsig:dsig:Transforms/> node or NULL if an error occurs.


xmlSecTmplKeyInfoAddEncryptedKey ()

xmlNodePtr  xmlSecTmplKeyInfoAddEncryptedKey
                                            (xmlNodePtr keyInfoNode,
                                             xmlSecTransformId encMethodId,
                                             const xmlChar *id,
                                             const xmlChar *type,
                                             const xmlChar *recipient);

Adds <enc:EncryptedKey/> node with given attributes to the <dsig:KeyInfo/> node keyInfoNode.

keyInfoNode :

the pointer to <dsig:KeyInfo/> node.

encMethodId :

the encryption method (optional).

id :

the Id attribute (optional).

type :

the Type attribute (optional).

recipient :

the Recipient attribute (optional).

Returns :

the pointer to the newly created <enc:EncryptedKey/> node or NULL if an error occurs.


xmlSecTmplTransformAddHmacOutputLength ()

int         xmlSecTmplTransformAddHmacOutputLength
                                            (xmlNodePtr transformNode,
                                             xmlSecSize bitsLen);

Creates <dsig:HMACOutputLength/> child for the HMAC transform node node.

transformNode :

the pointer to <dsig:Transform/> node

bitsLen :

the required length in bits

Returns :

0 on success and a negatie value otherwise.


xmlSecTmplTransformAddRsaOaepParam ()

int         xmlSecTmplTransformAddRsaOaepParam
                                            (xmlNodePtr transformNode,
                                             const xmlSecByte *buf,
                                             xmlSecSize size);

Creates <enc:OAEPParam/> child node in the node.

transformNode :

the pointer to <dsig:Transform/> node.

buf :

the OAEP param buffer.

size :

the OAEP param buffer size.

Returns :

0 on success or a negative value if an error occurs.


xmlSecTmplTransformAddXsltStylesheet ()

int         xmlSecTmplTransformAddXsltStylesheet
                                            (xmlNodePtr transformNode,
                                             const xmlChar *xslt);

Writes the XSLT transform expression to the node.

transformNode :

the pointer to <dsig:Transform/> node.

xslt :

the XSLT transform exspression.

Returns :

0 on success or a negative value otherwise.


xmlSecTmplTransformAddC14NInclNamespaces ()

int         xmlSecTmplTransformAddC14NInclNamespaces
                                            (xmlNodePtr transformNode,
                                             const xmlChar *prefixList);

Adds "inclusive" namespaces to the ExcC14N transform node node.

transformNode :

the pointer to <dsig:Transform/> node.

prefixList :

the white space delimited list of namespace prefixes, where "default" indicates the default namespace (optional).

Returns :

0 if success or a negative value otherwise.


xmlSecTmplTransformAddXPath ()

int         xmlSecTmplTransformAddXPath     (xmlNodePtr transformNode,
                                             const xmlChar *expression,
                                             const xmlChar **nsList);

Writes XPath transform infromation to the <dsig:Transform/> node node.

transformNode :

the pointer to the <dsig:Transform/> node.

expression :

the XPath expression.

nsList :

the NULL terminated list of namespace prefix/href pairs (optional).

Returns :

0 for success or a negative value otherwise.


xmlSecTmplTransformAddXPath2 ()

int         xmlSecTmplTransformAddXPath2    (xmlNodePtr transformNode,
                                             const xmlChar *type,
                                             const xmlChar *expression,
                                             const xmlChar **nsList);

Writes XPath2 transform infromation to the <dsig:Transform/> node node.

transformNode :

the pointer to the <dsig:Transform/> node.

type :

the XPath2 transform type ("union", "intersect" or "subtract").

expression :

the XPath expression.

nsList :

the NULL terminated list of namespace prefix/href pairs. (optional).

Returns :

0 for success or a negative value otherwise.


xmlSecTmplTransformAddXPointer ()

int         xmlSecTmplTransformAddXPointer  (xmlNodePtr transformNode,
                                             const xmlChar *expression,
                                             const xmlChar **nsList);

Writes XPoniter transform infromation to the <dsig:Transform/> node node.

transformNode :

the pointer to the <dsig:Transform/> node.

expression :

the XPath expression.

nsList :

the NULL terminated list of namespace prefix/href pairs. (optional).

Returns :

0 for success or a negative value otherwise.



Aleksey Sanin