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