XML Security Library

LibXML2
LibXSLT
OpenSSL

app

Name

app--Application functions implementation for OpenSSL.

Synopsis


int         xmlSecOpenSSLAppInit            (const char *config);
int         xmlSecOpenSSLAppShutdown        (void);
int         xmlSecOpenSSLAppDefaultKeysMngrInit
                                            (xmlSecKeysMngrPtr mngr);
int         xmlSecOpenSSLAppDefaultKeysMngrAdoptKey
                                            (xmlSecKeysMngrPtr mngr,
                                             xmlSecKeyPtr key);
int         xmlSecOpenSSLAppDefaultKeysMngrLoad
                                            (xmlSecKeysMngrPtr mngr,
                                             const char *uri);
int         xmlSecOpenSSLAppDefaultKeysMngrSave
                                            (xmlSecKeysMngrPtr mngr,
                                             const char *filename,
                                             xmlSecKeyDataType type);
int         xmlSecOpenSSLAppKeysMngrCertLoad
                                            (xmlSecKeysMngrPtr mngr,
                                             const char *filename,
                                             xmlSecKeyDataFormat format,
                                             xmlSecKeyDataType type);
int         xmlSecOpenSSLAppKeysMngrCertLoadMemory
                                            (xmlSecKeysMngrPtr mngr,
                                             const xmlSecByte *data,
                                             xmlSecSize dataSize,
                                             xmlSecKeyDataFormat format,
                                             xmlSecKeyDataType type);
int         xmlSecOpenSSLAppKeysMngrCertLoadBIO
                                            (xmlSecKeysMngrPtr mngr,
                                             BIO *bio,
                                             xmlSecKeyDataFormat format,
                                             xmlSecKeyDataType type);
int         xmlSecOpenSSLAppKeysMngrAddCertsPath
                                            (xmlSecKeysMngrPtr mngr,
                                             const char *path);
int         xmlSecOpenSSLAppKeysMngrAddCertsFile
                                            (xmlSecKeysMngrPtr mngr,
                                             const char *file);
xmlSecKeyPtr xmlSecOpenSSLAppKeyLoad        (const char *filename,
                                             xmlSecKeyDataFormat format,
                                             const char *pwd,
                                             void *pwdCallback,
                                             void *pwdCallbackCtx);
xmlSecKeyPtr xmlSecOpenSSLAppKeyLoadMemory  (const xmlSecByte *data,
                                             xmlSecSize dataSize,
                                             xmlSecKeyDataFormat format,
                                             const char *pwd,
                                             void *pwdCallback,
                                             void *pwdCallbackCtx);
xmlSecKeyPtr xmlSecOpenSSLAppKeyLoadBIO     (BIO *bio,
                                             xmlSecKeyDataFormat format,
                                             const char *pwd,
                                             void *pwdCallback,
                                             void *pwdCallbackCtx);
xmlSecKeyPtr xmlSecOpenSSLAppPkcs12Load     (const char *filename,
                                             const char *pwd,
                                             void *pwdCallback,
                                             void *pwdCallbackCtx);
xmlSecKeyPtr xmlSecOpenSSLAppPkcs12LoadMemory
                                            (const xmlSecByte *data,
                                             xmlSecSize dataSize,
                                             const char *pwd,
                                             void *pwdCallback,
                                             void *pwdCallbackCtx);
xmlSecKeyPtr xmlSecOpenSSLAppPkcs12LoadBIO  (BIO *bio,
                                             const char *pwd,
                                             void *pwdCallback,
                                             void *pwdCallbackCtx);
int         xmlSecOpenSSLAppKeyCertLoad     (xmlSecKeyPtr key,
                                             const char *filename,
                                             xmlSecKeyDataFormat format);
int         xmlSecOpenSSLAppKeyCertLoadMemory
                                            (xmlSecKeyPtr key,
                                             const xmlSecByte *data,
                                             xmlSecSize dataSize,
                                             xmlSecKeyDataFormat format);
int         xmlSecOpenSSLAppKeyCertLoadBIO  (xmlSecKeyPtr key,
                                             BIO *bio,
                                             xmlSecKeyDataFormat format);
xmlSecKeyPtr xmlSecOpenSSLAppKeyFromCertLoadBIO
                                            (BIO *bio,
                                             xmlSecKeyDataFormat format);
void*       xmlSecOpenSSLAppGetDefaultPwdCallback
                                            (void);

Description

Application functions implementation for OpenSSL.

Details

xmlSecOpenSSLAppInit ()

int         xmlSecOpenSSLAppInit            (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 certs.

Returns :

0 on success or a negative value otherwise.


xmlSecOpenSSLAppShutdown ()

int         xmlSecOpenSSLAppShutdown        (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.


xmlSecOpenSSLAppDefaultKeysMngrInit ()

int         xmlSecOpenSSLAppDefaultKeysMngrInit
                                            (xmlSecKeysMngrPtr mngr);

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

mngr:

the pointer to keys manager.

Returns :

0 on success or a negative value otherwise.


xmlSecOpenSSLAppDefaultKeysMngrAdoptKey ()

int         xmlSecOpenSSLAppDefaultKeysMngrAdoptKey
                                            (xmlSecKeysMngrPtr mngr,
                                             xmlSecKeyPtr key);

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

mngr:

the pointer to keys manager.

key:

the pointer to key.

Returns :

0 on success or a negative value otherwise.


xmlSecOpenSSLAppDefaultKeysMngrLoad ()

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

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

mngr:

the pointer to keys manager.

uri:

the uri.

Returns :

0 on success or a negative value otherwise.


xmlSecOpenSSLAppDefaultKeysMngrSave ()

int         xmlSecOpenSSLAppDefaultKeysMngrSave
                                            (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.


xmlSecOpenSSLAppKeysMngrCertLoad ()

int         xmlSecOpenSSLAppKeysMngrCertLoad
                                            (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.

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.


xmlSecOpenSSLAppKeysMngrCertLoadMemory ()

int         xmlSecOpenSSLAppKeysMngrCertLoadMemory
                                            (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.

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.


xmlSecOpenSSLAppKeysMngrCertLoadBIO ()

int         xmlSecOpenSSLAppKeysMngrCertLoadBIO
                                            (xmlSecKeysMngrPtr mngr,
                                             BIO *bio,
                                             xmlSecKeyDataFormat format,
                                             xmlSecKeyDataType type);

Reads cert from an OpenSSL BIO object and adds to the list of trusted or known untrusted certs in store.

mngr:

the keys manager.

bio:

the certificate BIO.

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.


xmlSecOpenSSLAppKeysMngrAddCertsPath ()

int         xmlSecOpenSSLAppKeysMngrAddCertsPath
                                            (xmlSecKeysMngrPtr mngr,
                                             const char *path);

Reads cert from path and adds to the list of trusted certificates.

mngr:

the keys manager.

path:

the path to trusted certificates.

Returns :

0 on success or a negative value otherwise.


xmlSecOpenSSLAppKeysMngrAddCertsFile ()

int         xmlSecOpenSSLAppKeysMngrAddCertsFile
                                            (xmlSecKeysMngrPtr mngr,
                                             const char *file);

Reads certs from file and adds to the list of trusted certificates. It is possible for file to contain multiple certs.

mngr:

the keys manager.

file:

the file containing trusted certificates.

Returns :

0 on success or a negative value otherwise.


xmlSecOpenSSLAppKeyLoad ()

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

Reads key from the a file.

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.


xmlSecOpenSSLAppKeyLoadMemory ()

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

Reads key from the memory buffer.

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.


xmlSecOpenSSLAppKeyLoadBIO ()

xmlSecKeyPtr xmlSecOpenSSLAppKeyLoadBIO     (BIO *bio,
                                             xmlSecKeyDataFormat format,
                                             const char *pwd,
                                             void *pwdCallback,
                                             void *pwdCallbackCtx);

Reads key from the an OpenSSL BIO object.

bio:

the key BIO.

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.


xmlSecOpenSSLAppPkcs12Load ()

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

Reads key and all associated certificates from the PKCS12 file. For uniformity, call xmlSecOpenSSLAppKeyLoad 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.


xmlSecOpenSSLAppPkcs12LoadMemory ()

xmlSecKeyPtr xmlSecOpenSSLAppPkcs12LoadMemory
                                            (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 xmlSecOpenSSLAppKeyLoad instead of this function. Pass in format=xmlSecKeyDataFormatPkcs12.

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.


xmlSecOpenSSLAppPkcs12LoadBIO ()

xmlSecKeyPtr xmlSecOpenSSLAppPkcs12LoadBIO  (BIO *bio,
                                             const char *pwd,
                                             void *pwdCallback,
                                             void *pwdCallbackCtx);

Reads key and all associated certificates from the PKCS12 data in an OpenSSL BIO object. For uniformity, call xmlSecOpenSSLAppKeyLoad instead of this function. Pass in format=xmlSecKeyDataFormatPkcs12.

bio:

the PKCS12 key bio.

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.


xmlSecOpenSSLAppKeyCertLoad ()

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

Reads the certificate from $filename and adds it to key.

key:

the pointer to key.

filename:

the certificate filename.

format:

the certificate file format.

Returns :

0 on success or a negative value otherwise.


xmlSecOpenSSLAppKeyCertLoadMemory ()

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

Reads the certificate from memory buffer and adds it to key.

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.


xmlSecOpenSSLAppKeyCertLoadBIO ()

int         xmlSecOpenSSLAppKeyCertLoadBIO  (xmlSecKeyPtr key,
                                             BIO *bio,
                                             xmlSecKeyDataFormat format);

Reads the certificate from memory buffer and adds it to key.

key:

the pointer to key.

bio:

the certificate bio.

format:

the certificate file format.

Returns :

0 on success or a negative value otherwise.


xmlSecOpenSSLAppKeyFromCertLoadBIO ()

xmlSecKeyPtr xmlSecOpenSSLAppKeyFromCertLoadBIO
                                            (BIO *bio,
                                             xmlSecKeyDataFormat format);

Loads public key from cert.

bio:

the BIO.

format:

the cert format.

Returns :

pointer to key or NULL if an error occurs.


xmlSecOpenSSLAppGetDefaultPwdCallback ()

void*       xmlSecOpenSSLAppGetDefaultPwdCallback
                                            (void);

Gets default password callback.