XML Security Library

LibXML2
LibXSLT
OpenSSL

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.