XML Security Library

LibXML2
LibXSLT
OpenSSL

app

Name

app--Application functions implementation for GnuTLS.

Synopsis


int         xmlSecGnuTLSAppInit             (const char *config);
int         xmlSecGnuTLSAppShutdown         (void);
int         xmlSecGnuTLSAppDefaultKeysMngrInit
                                            (xmlSecKeysMngrPtr mngr);
int         xmlSecGnuTLSAppDefaultKeysMngrAdoptKey
                                            (xmlSecKeysMngrPtr mngr,
                                             xmlSecKeyPtr key);
int         xmlSecGnuTLSAppDefaultKeysMngrLoad
                                            (xmlSecKeysMngrPtr mngr,
                                             const char *uri);
int         xmlSecGnuTLSAppDefaultKeysMngrSave
                                            (xmlSecKeysMngrPtr mngr,
                                             const char *filename,
                                             xmlSecKeyDataType type);
int         xmlSecGnuTLSAppKeysMngrCertLoad (xmlSecKeysMngrPtr mngr,
                                             const char *filename,
                                             xmlSecKeyDataFormat format,
                                             xmlSecKeyDataType type);
int         xmlSecGnuTLSAppKeysMngrCertLoadMemory
                                            (xmlSecKeysMngrPtr mngr,
                                             const xmlSecByte *data,
                                             xmlSecSize dataSize,
                                             xmlSecKeyDataFormat format,
                                             xmlSecKeyDataType type);
xmlSecKeyPtr xmlSecGnuTLSAppKeyLoad         (const char *filename,
                                             xmlSecKeyDataFormat format,
                                             const char *pwd,
                                             void *pwdCallback,
                                             void *pwdCallbackCtx);
xmlSecKeyPtr xmlSecGnuTLSAppKeyLoadMemory   (const xmlSecByte *data,
                                             xmlSecSize dataSize,
                                             xmlSecKeyDataFormat format,
                                             const char *pwd,
                                             void *pwdCallback,
                                             void *pwdCallbackCtx);
xmlSecKeyPtr xmlSecGnuTLSAppPkcs12Load      (const char *filename,
                                             const char *pwd,
                                             void *pwdCallback,
                                             void *pwdCallbackCtx);
xmlSecKeyPtr xmlSecGnuTLSAppPkcs12LoadMemory
                                            (const xmlSecByte *data,
                                             xmlSecSize dataSize,
                                             const char *pwd,
                                             void *pwdCallback,
                                             void *pwdCallbackCtx);
int         xmlSecGnuTLSAppKeyCertLoad      (xmlSecKeyPtr key,
                                             const char *filename,
                                             xmlSecKeyDataFormat format);
int         xmlSecGnuTLSAppKeyCertLoadMemory
                                            (xmlSecKeyPtr key,
                                             const xmlSecByte *data,
                                             xmlSecSize dataSize,
                                             xmlSecKeyDataFormat format);
void*       xmlSecGnuTLSAppGetDefaultPwdCallback
                                            (void);

Description

Application functions implementation for GnuTLS.

Details

xmlSecGnuTLSAppInit ()

int         xmlSecGnuTLSAppInit             (const char *config);

General crypto engine initialization. This function is used by XMLSec command line utility and called before xmlSecInit function.

config:

the path to GnuTLS configuration (unused).

Returns :

0 on success or a negative value otherwise.


xmlSecGnuTLSAppShutdown ()

int         xmlSecGnuTLSAppShutdown         (void);

General crypto engine shutdown. This function is used by XMLSec command line utility and called after xmlSecShutdown function.

Returns :

0 on success or a negative value otherwise.


xmlSecGnuTLSAppDefaultKeysMngrInit ()

int         xmlSecGnuTLSAppDefaultKeysMngrInit
                                            (xmlSecKeysMngrPtr mngr);

Initializes mngr with simple keys store xmlSecSimpleKeysStoreId and a default GnuTLS crypto key data stores.

mngr:

the pointer to keys manager.

Returns :

0 on success or a negative value otherwise.


xmlSecGnuTLSAppDefaultKeysMngrAdoptKey ()

int         xmlSecGnuTLSAppDefaultKeysMngrAdoptKey
                                            (xmlSecKeysMngrPtr mngr,
                                             xmlSecKeyPtr key);

Adds key to the keys manager mngr created with xmlSecGnuTLSAppDefaultKeysMngrInit function.

mngr:

the pointer to keys manager.

key:

the pointer to key.

Returns :

0 on success or a negative value otherwise.


xmlSecGnuTLSAppDefaultKeysMngrLoad ()

int         xmlSecGnuTLSAppDefaultKeysMngrLoad
                                            (xmlSecKeysMngrPtr mngr,
                                             const char *uri);

Loads XML keys file from uri to the keys manager mngr created with xmlSecGnuTLSAppDefaultKeysMngrInit function.

mngr:

the pointer to keys manager.

uri:

the uri.

Returns :

0 on success or a negative value otherwise.


xmlSecGnuTLSAppDefaultKeysMngrSave ()

int         xmlSecGnuTLSAppDefaultKeysMngrSave
                                            (xmlSecKeysMngrPtr mngr,
                                             const char *filename,
                                             xmlSecKeyDataType type);

Saves keys from mngr to XML keys file.

mngr:

the pointer to keys manager.

filename:

the destination filename.

type:

the type of keys to save (public/private/symmetric).

Returns :

0 on success or a negative value otherwise.


xmlSecGnuTLSAppKeysMngrCertLoad ()

int         xmlSecGnuTLSAppKeysMngrCertLoad (xmlSecKeysMngrPtr mngr,
                                             const char *filename,
                                             xmlSecKeyDataFormat format,
                                             xmlSecKeyDataType type);

Reads cert from filename and adds to the list of trusted or known untrusted certs in store (not implemented yet).

mngr:

the keys manager.

filename:

the certificate file.

format:

the certificate file format.

type:

the flag that indicates is the certificate in filename trusted or not.

Returns :

0 on success or a negative value otherwise.


xmlSecGnuTLSAppKeysMngrCertLoadMemory ()

int         xmlSecGnuTLSAppKeysMngrCertLoadMemory
                                            (xmlSecKeysMngrPtr mngr,
                                             const xmlSecByte *data,
                                             xmlSecSize dataSize,
                                             xmlSecKeyDataFormat format,
                                             xmlSecKeyDataType type);

Reads cert from binary buffer data and adds to the list of trusted or known untrusted certs in store (not implemented yet).

mngr:

the keys manager.

data:

the certificate binary data.

dataSize:

the certificate binary data size.

format:

the certificate file format.

type:

the flag that indicates is the certificate trusted or not.

Returns :

0 on success or a negative value otherwise.


xmlSecGnuTLSAppKeyLoad ()

xmlSecKeyPtr xmlSecGnuTLSAppKeyLoad         (const char *filename,
                                             xmlSecKeyDataFormat format,
                                             const char *pwd,
                                             void *pwdCallback,
                                             void *pwdCallbackCtx);

Reads key from the a file (not implemented yet).

filename:

the key filename.

format:

the key file format.

pwd:

the key file password.

pwdCallback:

the key password callback.

pwdCallbackCtx:

the user context for password callback.

Returns :

pointer to the key or NULL if an error occurs.


xmlSecGnuTLSAppKeyLoadMemory ()

xmlSecKeyPtr xmlSecGnuTLSAppKeyLoadMemory   (const xmlSecByte *data,
                                             xmlSecSize dataSize,
                                             xmlSecKeyDataFormat format,
                                             const char *pwd,
                                             void *pwdCallback,
                                             void *pwdCallbackCtx);

Reads key from the memory buffer (not implemented yet).

data:

the binary key data.

dataSize:

the size of binary key.

format:

the key file format.

pwd:

the key file password.

pwdCallback:

the key password callback.

pwdCallbackCtx:

the user context for password callback.

Returns :

pointer to the key or NULL if an error occurs.


xmlSecGnuTLSAppPkcs12Load ()

xmlSecKeyPtr xmlSecGnuTLSAppPkcs12Load      (const char *filename,
                                             const char *pwd,
                                             void *pwdCallback,
                                             void *pwdCallbackCtx);

Reads key and all associated certificates from the PKCS12 file (not implemented yet). For uniformity, call xmlSecGnuTLSAppKeyLoad instead of this function. Pass in format=xmlSecKeyDataFormatPkcs12.

filename:

the PKCS12 key filename.

pwd:

the PKCS12 file password.

pwdCallback:

the password callback.

pwdCallbackCtx:

the user context for password callback.

Returns :

pointer to the key or NULL if an error occurs.


xmlSecGnuTLSAppPkcs12LoadMemory ()

xmlSecKeyPtr xmlSecGnuTLSAppPkcs12LoadMemory
                                            (const xmlSecByte *data,
                                             xmlSecSize dataSize,
                                             const char *pwd,
                                             void *pwdCallback,
                                             void *pwdCallbackCtx);

Reads key and all associated certificates from the PKCS12 data in memory buffer. For uniformity, call xmlSecGnuTLSAppKeyLoadMemory instead of this function. Pass in format=xmlSecKeyDataFormatPkcs12 (not implemented yet).

data:

the PKCS12 binary data.

dataSize:

the PKCS12 binary data size.

pwd:

the PKCS12 file password.

pwdCallback:

the password callback.

pwdCallbackCtx:

the user context for password callback.

Returns :

pointer to the key or NULL if an error occurs.


xmlSecGnuTLSAppKeyCertLoad ()

int         xmlSecGnuTLSAppKeyCertLoad      (xmlSecKeyPtr key,
                                             const char *filename,
                                             xmlSecKeyDataFormat format);

Reads the certificate from $filename and adds it to key (not implemented yet).

key:

the pointer to key.

filename:

the certificate filename.

format:

the certificate file format.

Returns :

0 on success or a negative value otherwise.


xmlSecGnuTLSAppKeyCertLoadMemory ()

int         xmlSecGnuTLSAppKeyCertLoadMemory
                                            (xmlSecKeyPtr key,
                                             const xmlSecByte *data,
                                             xmlSecSize dataSize,
                                             xmlSecKeyDataFormat format);

Reads the certificate from memory buffer and adds it to key (not implemented yet).

key:

the pointer to key.

data:

the certificate binary data.

dataSize:

the certificate binary data size.

format:

the certificate file format.

Returns :

0 on success or a negative value otherwise.


xmlSecGnuTLSAppGetDefaultPwdCallback ()

void*       xmlSecGnuTLSAppGetDefaultPwdCallback
                                            (void);

Gets default password callback.