ciphers.h

Name

ciphers.h -- The ciphers transform.

Synopsis



struct      xmlSecCipherTransform;
typedef     xmlSecCipherTransformId;
int         (*xmlSecCipherUpdateMethod)     (xmlSecCipherTransformPtr transform,
                                             unsigned char *buffer,
                                             size_t size);
int         (*xmlSecCipherFinalMethod)      (xmlSecCipherTransformPtr transform);
int         xmlSecCipherTransformRead       (xmlSecBinTransformPtr transform,
                                             unsigned char *buf,
                                             size_t size);
int         xmlSecCipherTransformWrite      (xmlSecBinTransformPtr transform,
                                             unsigned char *buf,
                                             size_t size);
int         xmlSecCipherTransformFlush      (xmlSecBinTransformPtr transform);
int         xmlSecEvpCipherUpdate           (xmlSecCipherTransformPtr cipher,
                                             unsigned char *buffer,
                                             size_t size);
int         xmlSecEvpCipherFinal            (xmlSecCipherTransformPtr cipher);
int         xmlSecCipherUpdate              (xmlSecTransformPtr transform,
                                             unsigned char *buffer,
                                             size_t size);
int         xmlSecCipherFinal               (xmlSecTransformPtr transform);

Description

Details

struct xmlSecCipherTransform

struct xmlSecCipherTransform {	
    /* same as for xmlSecTransform but id type changed */
    xmlSecCipherTransformId		id;    
    xmlSecTransformStatus		status;
    int					dontDestroy;
    void				*data;
    
    /* xmlSecBinTransform specific */
    int					encode;
    xmlSecCipherTransformPtr		next;
    xmlSecCipherTransformPtr		prev;   
    void				*binData;
    
    /* xmlSecCipherTransform specific */
    unsigned char			*bufIn;
    unsigned char			*bufOut;
    EVP_CIPHER_CTX 			cipherCtx;
    unsigned char			*iv;
    size_t				ivPos;
    void				*cipherData;
};

The cipher (encrypt/decrypt) transform.


xmlSecCipherTransformId

typedef const struct _xmlSecCipherTransformIdStruct	*xmlSecCipherTransformId;

The cipher (encrypt/decrypt) transform id.


xmlSecCipherUpdateMethod ()

int         (*xmlSecCipherUpdateMethod)     (xmlSecCipherTransformPtr transform,
                                             unsigned char *buffer,
                                             size_t size);

Encrypts/decrypts new chunk of data.


xmlSecCipherFinalMethod ()

int         (*xmlSecCipherFinalMethod)      (xmlSecCipherTransformPtr transform);

Finalizes encryption/decryption.


xmlSecCipherTransformRead ()

int         xmlSecCipherTransformRead       (xmlSecBinTransformPtr transform,
                                             unsigned char *buf,
                                             size_t size);

Reads data from previous transform, encrypts or decrypts them and returns in the output buffer.


xmlSecCipherTransformWrite ()

int         xmlSecCipherTransformWrite      (xmlSecBinTransformPtr transform,
                                             unsigned char *buf,
                                             size_t size);

Encrypts or decrypts the input data and writes them to the next transform.


xmlSecCipherTransformFlush ()

int         xmlSecCipherTransformFlush      (xmlSecBinTransformPtr transform);

Writes the rest of data to previous transform.


xmlSecEvpCipherUpdate ()

int         xmlSecEvpCipherUpdate           (xmlSecCipherTransformPtr cipher,
                                             unsigned char *buffer,
                                             size_t size);

Encrypts/decrypts new piece of data.


xmlSecEvpCipherFinal ()

int         xmlSecEvpCipherFinal            (xmlSecCipherTransformPtr cipher);

Finalize encryption/decryption.


xmlSecCipherUpdate ()

int         xmlSecCipherUpdate              (xmlSecTransformPtr transform,
                                             unsigned char *buffer,
                                             size_t size);

Encrypts/decrypts new piece of data.


xmlSecCipherFinal ()

int         xmlSecCipherFinal               (xmlSecTransformPtr transform);

Finalize encryption/decryption.