app

app — Application support functions for OpenSSL.

Stability Level

Stable, unless otherwise indicated

Functions

Description

Common functions for xmlsec1 command line utility tool for OpenSSL.

Functions

xmlSecOpenSSLAppInit ()

int
xmlSecOpenSSLAppInit (const char *config);

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

Parameters

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 openssl keys store xmlSecOpenSSLKeysStoreId and a default OpenSSL crypto key data stores.

Parameters

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.

Parameters

mngr

the pointer to keys manager.

 

key

the pointer to key.

 

Returns

0 on success or a negative value otherwise.


xmlSecOpenSSLAppDefaultKeysMngrVerifyKey ()

int
xmlSecOpenSSLAppDefaultKeysMngrVerifyKey
                               (xmlSecKeysMngrPtr mngr,
                                xmlSecKeyPtr key,
                                xmlSecKeyInfoCtxPtr keyInfoCtx);

Verifies key with the keys manager mngr created with xmlSecCryptoAppDefaultKeysMngrInit function:

  • Checks that key certificate is present

  • Checks that key certificate is valid

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

Parameters

mngr

the pointer to keys manager.

 

key

the pointer to key.

 

keyInfoCtx

the key info context for verification.

 

Returns

1 if key is verified, 0 otherwise, or a negative value if an error occurs.


xmlSecOpenSSLAppDefaultKeysMngrLoad ()

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

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

Parameters

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.

Parameters

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 .

Parameters

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 .

Parameters

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 .

Parameters

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.


xmlSecOpenSSLAppKeysMngrCrlLoad ()

int
xmlSecOpenSSLAppKeysMngrCrlLoad (xmlSecKeysMngrPtr mngr,
                                 const char *filename,
                                 xmlSecKeyDataFormat format);

Reads crl from filename and adds to the list of crls in store .

Parameters

mngr

the keys manager.

 

filename

the CRL file.

 

format

the CRL file format..

 

Returns

0 on success or a negative value otherwise.


xmlSecOpenSSLAppKeysMngrCrlLoadMemory ()

int
xmlSecOpenSSLAppKeysMngrCrlLoadMemory (xmlSecKeysMngrPtr mngr,
                                       const xmlSecByte *data,
                                       xmlSecSize dataSize,
                                       xmlSecKeyDataFormat format);

Reads crl from binary buffer data and adds to the list of crls in store .

Parameters

mngr

the keys manager.

 

data

the CRL binary data.

 

dataSize

the CRL binary data size.

 

format

the CRL format.

 

Returns

0 on success or a negative value otherwise.


xmlSecOpenSSLAppKeysMngrCrlLoadBIO ()

int
xmlSecOpenSSLAppKeysMngrCrlLoadBIO (xmlSecKeysMngrPtr mngr,
                                    BIO *bio,
                                    xmlSecKeyDataFormat format);

Reads crl from an OpenSSL BIO object and adds to the list of crls in store .

Parameters

mngr

the keys manager.

 

bio

the CRL BIO.

 

format

the CRL file format.

 

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.

Parameters

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 *filename);

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

Parameters

mngr

the keys manager.

 

filename

the file containing trusted certificates.

 

Returns

0 on success or a negative value otherwise.


xmlSecOpenSSLAppKeyLoadEx ()

xmlSecKeyPtr
xmlSecOpenSSLAppKeyLoadEx (const char *filename,
                           xmlSecKeyDataType type,
                           xmlSecKeyDataFormat format,
                           const char *pwd,
                           void *pwdCallback,
                           void *pwdCallbackCtx);

Reads key from the a file.

Parameters

filename

the key filename.

 

type

the expected key type.

 

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.

Parameters

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.

Parameters

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 xmlSecOpenSSLAppKeyLoadEX instead of this function. Pass in format=xmlSecKeyDataFormatPkcs12.

Parameters

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 xmlSecOpenSSLAppKeyLoadEx instead of this function. Pass in format=xmlSecKeyDataFormatPkcs12.

Parameters

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 xmlSecOpenSSLAppKeyLoadEx instead of this function. Pass in format=xmlSecKeyDataFormatPkcs12.

Parameters

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.

Parameters

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.

Parameters

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.

Parameters

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.

Parameters

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.