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.

Returns :

default password callback.