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);
 
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. | 
 
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.
 
xmlSecMSCryptoAppDefaultKeysMngrAdoptUntrustedStore ()
int                 xmlSecMSCryptoAppDefaultKeysMngrAdoptUntrustedStore
                                                        (xmlSecKeysMngrPtr mngr,
                                                         HCERTSTORE untrustedStore);
Adds trustedStore to the list of un-trusted cert stores in the keys manager mngr.
 
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 filenametrusted 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.
 
xmlSecMSCryptoAppPkcs12Load ()
xmlSecKeyPtr        xmlSecMSCryptoAppPkcs12Load         (const char *filename,
                                                         const char *pwd,
                                                         void *pwdCallback,
                                                         void *pwdCallbackCtx);
Reads key and all associated certificates from the PKCS12 file
 
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
 
xmlSecMSCryptoAppKeyCertLoad ()
int                 xmlSecMSCryptoAppKeyCertLoad        (xmlSecKeyPtr key,
                                                         const char *filename,
                                                         xmlSecKeyDataFormat format);
Reads the certificate from $filename and adds it to key.
 
xmlSecMSCryptoAppGetDefaultPwdCallback ()
void*               xmlSecMSCryptoAppGetDefaultPwdCallback
                                                        (void);
Gets default password callback.