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 MS Crypto. ## Synopsis
    int                 xmlSecMSCryptoAppInit               (const char *config);
    int                 xmlSecMSCryptoAppShutdown           (void);
    LPCTSTR             xmlSecMSCryptoAppGetCertStoreName   (void);
    int                 xmlSecMSCryptoAppDefaultKeysMngrInit
                                                            (xmlSecKeysMngrPtr mngr);
    int                 xmlSecMSCryptoAppDefaultKeysMngrAdoptKey
                                                            (xmlSecKeysMngrPtr mngr,
                                                             xmlSecKeyPtr key);
    int                 xmlSecMSCryptoAppDefaultKeysMngrLoad
                                                            (xmlSecKeysMngrPtr mngr,
                                                             const char *uri);
    int                 xmlSecMSCryptoAppDefaultKeysMngrSave
                                                            (xmlSecKeysMngrPtr mngr,
                                                             const char *filename,
                                                             xmlSecKeyDataType type);
    int                 xmlSecMSCryptoAppDefaultKeysMngrPrivateKeyLoad
                                                            (xmlSecKeysMngrPtr mngr,
                                                             HCRYPTKEY hKey);
    int                 xmlSecMSCryptoAppDefaultKeysMngrPublicKeyLoad
                                                            (xmlSecKeysMngrPtr mngr,
                                                             HCRYPTKEY hKey);
    int                 xmlSecMSCryptoAppDefaultKeysMngrSymKeyLoad
                                                            (xmlSecKeysMngrPtr mngr,
                                                             HCRYPTKEY hKey);
    int                 xmlSecMSCryptoAppDefaultKeysMngrAdoptKeyStore
                                                            (xmlSecKeysMngrPtr mngr,
                                                             HCERTSTORE keyStore);
    int                 xmlSecMSCryptoAppDefaultKeysMngrAdoptTrustedStore
                                                            (xmlSecKeysMngrPtr mngr,
                                                             HCERTSTORE trustedStore);
    int                 xmlSecMSCryptoAppDefaultKeysMngrAdoptUntrustedStore
                                                            (xmlSecKeysMngrPtr mngr,
                                                             HCERTSTORE untrustedStore);
    int                 xmlSecMSCryptoAppKeysMngrCertLoad   (xmlSecKeysMngrPtr mngr,
                                                             const char *filename,
                                                             xmlSecKeyDataFormat format,
                                                             xmlSecKeyDataType type);
    int                 xmlSecMSCryptoAppKeysMngrCertLoadMemory
                                                            (xmlSecKeysMngrPtr mngr,
                                                             const xmlSecByte *data,
                                                             xmlSecSize dataSize,
                                                             xmlSecKeyDataFormat format,
                                                             xmlSecKeyDataType type);
    xmlSecKeyPtr        xmlSecMSCryptoAppKeyLoad            (const char *filename,
                                                             xmlSecKeyDataFormat format,
                                                             const char *pwd,
                                                             void *pwdCallback,
                                                             void *pwdCallbackCtx);
    xmlSecKeyPtr        xmlSecMSCryptoAppKeyLoadMemory      (const xmlSecByte *data,
                                                             xmlSecSize dataSize,
                                                             xmlSecKeyDataFormat format,
                                                             const char *pwd,
                                                             void *pwdCallback,
                                                             void *pwdCallbackCtx);
    xmlSecKeyPtr        xmlSecMSCryptoAppPkcs12Load         (const char *filename,
                                                             const char *pwd,
                                                             void *pwdCallback,
                                                             void *pwdCallbackCtx);
    xmlSecKeyPtr        xmlSecMSCryptoAppPkcs12LoadMemory   (const xmlSecByte *data,
                                                             xmlSecSize dataSize,
                                                             const char *pwd,
                                                             void *pwdCallback,
                                                             void *pwdCallbackCtx);
    int                 xmlSecMSCryptoAppKeyCertLoad        (xmlSecKeyPtr key,
                                                             const char *filename,
                                                             xmlSecKeyDataFormat format);
    int                 xmlSecMSCryptoAppKeyCertLoadMemory  (xmlSecKeyPtr key,
                                                             const xmlSecByte *data,
                                                             xmlSecSize dataSize,
                                                             xmlSecKeyDataFormat format);
    void*               xmlSecMSCryptoAppGetDefaultPwdCallback
                                                            (void);
## Description Application functions implementation for MS Crypto. ## Details ### xmlSecMSCryptoAppInit ()
    int                 xmlSecMSCryptoAppInit               (const char *config);
General crypto engine initialization. This function is used by XMLSec command line utility and called before `xmlSecInit` function.
`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.
`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.
`mngr` : | the pointer to keys manager.
`key` : | the pointer to key.
Returns : | 0 on success or a negative value otherwise.
### xmlSecMSCryptoAppDefaultKeysMngrLoad ()
    int                 xmlSecMSCryptoAppDefaultKeysMngrLoad
                                                            (xmlSecKeysMngrPtr mngr,
                                                             const char *uri);
Loads XML keys file from `uri` to the keys manager `mngr` created with xmlSecMSCryptoAppDefaultKeysMngrInit function.
`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.
`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`.
`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`.
`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`.
`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`.
`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`.
`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`.
`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` (not implemented yet).
`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`.
`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.
### xmlSecMSCryptoAppKeyLoad ()
    xmlSecKeyPtr        xmlSecMSCryptoAppKeyLoad            (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.
### xmlSecMSCryptoAppKeyLoadMemory ()
    xmlSecKeyPtr        xmlSecMSCryptoAppKeyLoadMemory      (const xmlSecByte *data,
                                                             xmlSecSize dataSize,
                                                             xmlSecKeyDataFormat format,
                                                             const char *pwd,
                                                             void *pwdCallback,
                                                             void *pwdCallbackCtx);
Reads key from the a file.
`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
`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
`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.
`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.
`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.