Functions
xmlSecEncCtxCreate ()
xmlSecEncCtxPtr
xmlSecEncCtxCreate (xmlSecKeysMngrPtr keysMngr);
Creates <enc:EncryptedData/> element processing context.
The caller is responsible for destroying returned object by calling
xmlSecEncCtxDestroy function.
Returns
 pointer to newly allocated context object or NULL if an error
occurs.
 
 
xmlSecEncCtxDestroy ()
void
xmlSecEncCtxDestroy (xmlSecEncCtxPtr encCtx);
Destroy context object created with xmlSecEncCtxCreate function.
 
xmlSecEncCtxInitialize ()
int
xmlSecEncCtxInitialize (xmlSecEncCtxPtr encCtx,
                        xmlSecKeysMngrPtr keysMngr);
Initializes <enc:EncryptedData/> element processing context.
The caller is responsible for cleaning up returned object by calling
xmlSecEncCtxFinalize function.
Returns
 0 on success or a negative value if an error occurs.
 
 
xmlSecEncCtxFinalize ()
void
xmlSecEncCtxFinalize (xmlSecEncCtxPtr encCtx);
Cleans up encCtx
 object.
 
xmlSecEncCtxCopyUserPref ()
int
xmlSecEncCtxCopyUserPref (xmlSecEncCtxPtr dst,
                          xmlSecEncCtxPtr src);
Copies user preference from src
 context to dst
.
Returns
 0 on success or a negative value if an error occurs.
 
 
xmlSecEncCtxReset ()
void
xmlSecEncCtxReset (xmlSecEncCtxPtr encCtx);
Resets encCtx
 object, user settings are not touched.
 
xmlSecEncCtxBinaryEncrypt ()
int
xmlSecEncCtxBinaryEncrypt (xmlSecEncCtxPtr encCtx,
                           xmlNodePtr tmpl,
                           const xmlSecByte *data,
                           xmlSecSize dataSize);
Encrypts data
 according to template tmpl
.
Returns
 0 on success or a negative value if an error occurs.
 
 
xmlSecEncCtxXmlEncrypt ()
int
xmlSecEncCtxXmlEncrypt (xmlSecEncCtxPtr encCtx,
                        xmlNodePtr tmpl,
                        xmlNodePtr node);
Encrypts node
 according to template tmpl
. If requested, node
 is replaced
with result <enc:EncryptedData/> node.
Returns
 0 on success or a negative value if an error occurs.
 
 
xmlSecEncCtxUriEncrypt ()
int
xmlSecEncCtxUriEncrypt (xmlSecEncCtxPtr encCtx,
                        xmlNodePtr tmpl,
                        const xmlChar *uri);
Encrypts data from uri
 according to template tmpl
.
Returns
 0 on success or a negative value if an error occurs.
 
 
xmlSecEncCtxDecrypt ()
int
xmlSecEncCtxDecrypt (xmlSecEncCtxPtr encCtx,
                     xmlNodePtr node);
Decrypts node
 and if necessary replaces node
 with decrypted data.
Returns
 0 on success or a negative value if an error occurs.
 
 
xmlSecEncCtxDecryptToBuffer ()
xmlSecBufferPtr
xmlSecEncCtxDecryptToBuffer (xmlSecEncCtxPtr encCtx,
                             xmlNodePtr node);
Decrypts node
 data to the encCtx
 buffer.
Returns
 0 on success or a negative value if an error occurs.
 
 
xmlSecEncCtxDebugDump ()
void
xmlSecEncCtxDebugDump (xmlSecEncCtxPtr encCtx,
                       FILE *output);
Prints the debug information about encCtx
 to output
.
 
xmlSecEncCtxDebugXmlDump ()
void
xmlSecEncCtxDebugXmlDump (xmlSecEncCtxPtr encCtx,
                          FILE *output);
Prints the debug information about encCtx
 to output
 in XML format.
 
 
Types and Values
XMLSEC_ENC_RETURN_REPLACED_NODE
#define XMLSEC_ENC_RETURN_REPLACED_NODE                 0x00000001
If this flag is set, then the replaced node will be returned in the replacedNodeList
 
struct xmlSecEncCtx
struct xmlSecEncCtx {
    /* these data user can set before performing the operation */
    void*                       userData;
    unsigned int                flags;
    unsigned int                flags2;
    xmlEncCtxMode               mode;
    xmlSecKeyInfoCtx            keyInfoReadCtx;
    xmlSecKeyInfoCtx            keyInfoWriteCtx;
    xmlSecTransformCtx          transformCtx;
    xmlSecTransformId           defEncMethodId;
    /* these data are returned */
    xmlSecKeyPtr                encKey;
    xmlSecTransformOperation    operation;
    xmlSecBufferPtr             result;
    int                         resultBase64Encoded;
    int                         resultReplaced;
    xmlSecTransformPtr          encMethod;
    /* attributes from EncryptedData or EncryptedKey */
    xmlChar*                    id;
    xmlChar*                    type;
    xmlChar*                    mimeType;
    xmlChar*                    encoding;
    xmlChar*                    recipient;
    xmlChar*                    carriedKeyName;
    /* these are internal data, nobody should change that except us */
    xmlNodePtr                  encDataNode;
    xmlNodePtr                  encMethodNode;
    xmlNodePtr                  keyInfoNode;
    xmlNodePtr                  cipherValueNode;
    xmlNodePtr                  replacedNodeList; /* the pointer to the replaced node */
    void*                       reserved1;        /* reserved for future */
};
XML Encrypiton context.