- Home
- Download
- News
- Documentation

- FAQ
- Tutorial
- API reference
- Examples

- XML Digital Signature

- Online Verifier

- XML Encryption
- XML Canonicalization
- Reporting Bugs
- Mailing list
- Related
- Authors

# app

## Name

app --

## 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);
    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

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

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