app

app — Application support functions for Microsoft Crypto API.

Stability Level

Stable, unless otherwise indicated

Functions

Description

Common functions for xmlsec1 command line utility tool for MSCrypto.

Functions

xmlSecMSCryptoAppInit ()

int
xmlSecMSCryptoAppInit (const char *config);

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

Parameters

config

the name of another then the default ms certificate store.

 

Returns

0 on success or a negative value otherwise.


xmlSecMSCryptoAppShutdown ()

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


xmlSecMSCryptoAppGetCertStoreName ()

LPCTSTR
xmlSecMSCryptoAppGetCertStoreName (void);

Gets the MS Crypto certs store name set by xmlSecMSCryptoAppInit function.

Returns

the MS Crypto certs name used by xmlsec-mscrypto.


xmlSecMSCryptoAppDefaultKeysMngrInit ()

int
xmlSecMSCryptoAppDefaultKeysMngrInit (xmlSecKeysMngrPtr mngr);

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

Parameters

mngr

the pointer to keys manager.

 

Returns

0 on success or a negative value otherwise.


xmlSecMSCryptoAppDefaultKeysMngrAdoptKey ()

int
xmlSecMSCryptoAppDefaultKeysMngrAdoptKey
                               (xmlSecKeysMngrPtr mngr,
                                xmlSecKeyPtr key);

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

Parameters

mngr

the pointer to keys manager.

 

key

the pointer to key.

 

Returns

0 on success or a negative value otherwise.


xmlSecMSCryptoAppDefaultKeysMngrVerifyKey ()

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


xmlSecMSCryptoAppDefaultKeysMngrLoad ()

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

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

Parameters

mngr

the pointer to keys manager.

 

uri

the uri.

 

Returns

0 on success or a negative value otherwise.


xmlSecMSCryptoAppDefaultKeysMngrSave ()

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


xmlSecMSCryptoAppDefaultKeysMngrPrivateKeyLoad ()

int
xmlSecMSCryptoAppDefaultKeysMngrPrivateKeyLoad
                               (xmlSecKeysMngrPtr mngr,
                                HCRYPTKEY hKey);

Adds private key hKey to the keys manager mngr .

Parameters

mngr

the pointer to keys manager.

 

hKey

the key handle.

 

Returns

0 on success or a negative value otherwise.


xmlSecMSCryptoAppDefaultKeysMngrPublicKeyLoad ()

int
xmlSecMSCryptoAppDefaultKeysMngrPublicKeyLoad
                               (xmlSecKeysMngrPtr mngr,
                                HCRYPTKEY hKey);

Adds public key hKey to the keys manager mngr .

Parameters

mngr

the pointer to keys manager.

 

hKey

the key handle.

 

Returns

0 on success or a negative value otherwise.


xmlSecMSCryptoAppDefaultKeysMngrSymKeyLoad ()

int
xmlSecMSCryptoAppDefaultKeysMngrSymKeyLoad
                               (xmlSecKeysMngrPtr mngr,
                                HCRYPTKEY hKey);

Adds symmetric key hKey to the keys manager mngr .

Parameters

mngr

the pointer to keys manager.

 

hKey

the key handle.

 

Returns

0 on success or a negative value otherwise.


xmlSecMSCryptoAppDefaultKeysMngrAdoptKeyStore ()

int
xmlSecMSCryptoAppDefaultKeysMngrAdoptKeyStore
                               (xmlSecKeysMngrPtr mngr,
                                HCERTSTORE keyStore);

Adds keyStore to the list of key stores in the keys manager mngr .

Parameters

mngr

the keys manager.

 

keyStore

the pointer to keys store.

 

Returns

0 on success or a negative value if an error occurs.


xmlSecMSCryptoAppDefaultKeysMngrAdoptTrustedStore ()

int
xmlSecMSCryptoAppDefaultKeysMngrAdoptTrustedStore
                               (xmlSecKeysMngrPtr mngr,
                                HCERTSTORE trustedStore);

Adds trustedStore to the list of trusted cert stores in the keys manager mngr .

Parameters

mngr

the keys manager.

 

trustedStore

the pointer to certs store.

 

Returns

0 on success or a negative value if an error occurs.


xmlSecMSCryptoAppDefaultKeysMngrAdoptUntrustedStore ()

int
xmlSecMSCryptoAppDefaultKeysMngrAdoptUntrustedStore
                               (xmlSecKeysMngrPtr mngr,
                                HCERTSTORE untrustedStore);

Adds trustedStore to the list of un-trusted cert stores in the keys manager mngr .

Parameters

mngr

the keys manager.

 

untrustedStore

the pointer to certs store.

 

Returns

0 on success or a negative value if an error occurs.


xmlSecMSCryptoAppKeysMngrCertLoad ()

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


xmlSecMSCryptoAppKeysMngrCertLoadMemory ()

int
xmlSecMSCryptoAppKeysMngrCertLoadMemory
                               (xmlSecKeysMngrPtr mngr,
                                const xmlSecByte *data,
                                xmlSecSize dataSize,
                                xmlSecKeyDataFormat format,
                                xmlSecKeyDataType type);

Reads cert from data and adds to the list of trusted or known untrusted certs in store .

Parameters

mngr

the keys manager.

 

data

the binary certificate.

 

dataSize

size of binary certificate (data)

 

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.


xmlSecMSCryptoAppKeysMngrCrlLoad ()

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


xmlSecMSCryptoAppKeysMngrCrlLoadMemory ()

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

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

Parameters

mngr

the keys manager.

 

data

the binary CRL.

 

dataSize

size of binary CRL (data)

 

format

the CRL format.

 

Returns

0 on success or a negative value otherwise.


xmlSecMSCryptoAppKeyLoadEx ()

xmlSecKeyPtr
xmlSecMSCryptoAppKeyLoadEx (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.


xmlSecMSCryptoAppKeyLoadMemory ()

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

Reads key from the a file.

Parameters

data

the key binary data.

 

dataSize

the key data size.

 

format

the key format.

 

pwd

the key password.

 

pwdCallback

the key password callback.

 

pwdCallbackCtx

the user context for password callback.

 

Returns

pointer to the key or NULL if an error occurs.


xmlSecMSCryptoAppPkcs12Load ()

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

Reads key and all associated certificates from the PKCS12 file

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.


xmlSecMSCryptoAppPkcs12LoadMemory ()

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

Reads key and all associated certificates from the PKCS12 binary

Parameters

data

the binary PKCS12 key in data.

 

dataSize

size of binary pkcs12 data

 

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.


xmlSecMSCryptoAppKeyCertLoad ()

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


xmlSecMSCryptoAppKeyCertLoadMemory ()

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

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

Parameters

key

the pointer to key.

 

data

the binary certificate.

 

dataSize

size of certificate binary (data)

 

format

the certificate file format.

 

Returns

0 on success or a negative value otherwise.


xmlSecMSCryptoAppGetDefaultPwdCallback ()

void *
xmlSecMSCryptoAppGetDefaultPwdCallback
                               (void);

Gets default password callback.

Returns

default password callback.