app: XML Security Library Reference Manual

Home Download GitHub News Documentation FAQ Tutorial API reference Examples XML Digital Signature XML Encryption XML Canonicalization Reporting Bugs Mailing list Related Authors
## app app — Application support functions for Microsoft Crypto API. |
## Stability Level Stable, unless otherwise indicated ## Functions
int | xmlSecMSCryptoAppInit ()
int | xmlSecMSCryptoAppShutdown ()
LPCTSTR | xmlSecMSCryptoAppGetCertStoreName ()
int | xmlSecMSCryptoAppDefaultKeysMngrInit ()
int | xmlSecMSCryptoAppDefaultKeysMngrAdoptKey ()
int | xmlSecMSCryptoAppDefaultKeysMngrVerifyKey ()
int | xmlSecMSCryptoAppDefaultKeysMngrLoad ()
int | xmlSecMSCryptoAppDefaultKeysMngrSave ()
int | xmlSecMSCryptoAppDefaultKeysMngrPrivateKeyLoad ()
int | xmlSecMSCryptoAppDefaultKeysMngrPublicKeyLoad ()
int | xmlSecMSCryptoAppDefaultKeysMngrSymKeyLoad ()
int | xmlSecMSCryptoAppDefaultKeysMngrAdoptKeyStore ()
int | xmlSecMSCryptoAppDefaultKeysMngrAdoptTrustedStore ()
int | xmlSecMSCryptoAppDefaultKeysMngrAdoptUntrustedStore ()
int | xmlSecMSCryptoAppKeysMngrCertLoad ()
int | xmlSecMSCryptoAppKeysMngrCertLoadMemory ()
int | xmlSecMSCryptoAppKeysMngrCrlLoad ()
int | xmlSecMSCryptoAppKeysMngrCrlLoadMemory ()
int | xmlSecMSCryptoAppKeysMngrCrlLoadAndVerify ()
xmlSecKeyPtr | xmlSecMSCryptoAppKeyLoadEx ()
xmlSecKeyPtr | xmlSecMSCryptoAppKeyLoadMemory ()
xmlSecKeyPtr | xmlSecMSCryptoAppPkcs12Load ()
xmlSecKeyPtr | xmlSecMSCryptoAppPkcs12LoadMemory ()
int | xmlSecMSCryptoAppKeyCertLoad ()
int | xmlSecMSCryptoAppKeyCertLoadMemory ()
void * | xmlSecMSCryptoAppGetDefaultPwdCallback ()
## Description Common functions for the xmlsec1 command-line utility for MSCrypto. ## Functions ### xmlSecMSCryptoAppInit ()
    int
    xmlSecMSCryptoAppInit (const char *config);
General crypto engine initialization. This function is used by the XMLSec command-line utility and is called before the `xmlSecInit` function. #### Parameters
config | the name of a certificate store other than the default Microsoft certificate store. |
#### Returns 0 on success or a negative value otherwise. ### xmlSecMSCryptoAppShutdown ()
    int
    xmlSecMSCryptoAppShutdown (void);
General crypto engine shutdown. This function is used by the XMLSec command-line utility and is called after the `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. ### xmlSecMSCryptoAppKeysMngrCrlLoadAndVerify ()
    int
    xmlSecMSCryptoAppKeysMngrCrlLoadAndVerify
                                   (xmlSecKeysMngrPtr mngr,
                                    const char *filename,
                                    xmlSecKeyDataFormat format,
                                    xmlSecKeyInfoCtxPtr keyInfoCtx);
Atomically loads and verifies a CRL from `filename` . #### Parameters
mngr | the keys manager. |
filename | the CRL filename. |
format | the CRL format (PEM or DER). |
keyInfoCtx | the key info context for verification parameters. |
#### 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 a key from 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 a 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 a 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.