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.
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.