XML Security Library

LibXML2
LibXSLT
OpenSSL

crypto

Name

crypto--Crypto transforms implementation for MS Crypto.

Synopsis


xmlSecCryptoDLFunctionsPtr xmlSecCryptoGetFunctions_mscrypto
                                            (void);
int         xmlSecMSCryptoInit              (void);
int         xmlSecMSCryptoShutdown          (void);
int         xmlSecMSCryptoKeysMngrInit      (xmlSecKeysMngrPtr mngr);
int         xmlSecMSCryptoGenerateRandom    (xmlSecBufferPtr buffer,
                                             size_t size);
void        xmlSecMSCryptoErrorsDefaultCallback
                                            (const char *file,
                                             int line,
                                             const char *func,
                                             const char *errorObject,
                                             const char *errorSubject,
                                             int reason,
                                             const char *msg);
BYTE*       xmlSecMSCryptoCertStrToName     (DWORD dwCertEncodingType,
                                             LPCTSTR pszX500,
                                             DWORD dwStrType,
                                             DWORD *len);
#define     xmlSecMSCryptoKeyDataDsaId
xmlSecKeyDataId xmlSecMSCryptoKeyDataDsaGetKlass
                                            (void);
#define     xmlSecMSCryptoTransformDsaSha1Id
xmlSecTransformId xmlSecMSCryptoTransformDsaSha1GetKlass
                                            (void);
#define     xmlSecMSCryptoKeyDataGost2001Id
xmlSecKeyDataId xmlSecMSCryptoKeyDataGost2001GetKlass
                                            (void);
#define     xmlSecMSCryptoTransformGost2001GostR3411_94Id
xmlSecTransformId xmlSecMSCryptoTransformGost2001GostR3411_94GetKlass
                                            (void);
#define     xmlSecMSCryptoKeyDataRsaId
xmlSecKeyDataId xmlSecMSCryptoKeyDataRsaGetKlass
                                            (void);
#define     xmlSecMSCryptoTransformRsaSha1Id
xmlSecTransformId xmlSecMSCryptoTransformRsaSha1GetKlass
                                            (void);
#define     xmlSecMSCryptoTransformRsaPkcs1Id
xmlSecTransformId xmlSecMSCryptoTransformRsaPkcs1GetKlass
                                            (void);
#define     xmlSecMSCryptoTransformSha1Id
xmlSecTransformId xmlSecMSCryptoTransformSha1GetKlass
                                            (void);
#define     xmlSecMSCryptoTransformGostR3411_94Id
xmlSecTransformId xmlSecMSCryptoTransformGostR3411_94GetKlass
                                            (void);
#define     xmlSecMSCryptoKeyDataAesId
xmlSecKeyDataId xmlSecMSCryptoKeyDataAesGetKlass
                                            (void);
int         xmlSecMSCryptoKeyDataAesSet     (xmlSecKeyDataPtr data,
                                             const xmlSecByte *buf,
                                             xmlSecSize bufSize);
#define     xmlSecMSCryptoTransformAes128CbcId
xmlSecTransformId xmlSecMSCryptoTransformAes128CbcGetKlass
                                            (void);
#define     xmlSecMSCryptoTransformAes192CbcId
xmlSecTransformId xmlSecMSCryptoTransformAes192CbcGetKlass
                                            (void);
#define     xmlSecMSCryptoTransformAes256CbcId
xmlSecTransformId xmlSecMSCryptoTransformAes256CbcGetKlass
                                            (void);
#define     xmlSecMSCryptoKeyDataDesId
xmlSecKeyDataId xmlSecMSCryptoKeyDataDesGetKlass
                                            (void);
#define     xmlSecMSCryptoTransformDes3CbcId
xmlSecTransformId xmlSecMSCryptoTransformDes3CbcGetKlass
                                            (void);

Description

Crypto transforms implementation for MS Crypto.

Details

xmlSecCryptoGetFunctions_mscrypto ()

xmlSecCryptoDLFunctionsPtr xmlSecCryptoGetFunctions_mscrypto
                                            (void);

Gets MSCrypto specific functions table.

Returns :

xmlsec-mscrypto functions table.


xmlSecMSCryptoInit ()

int         xmlSecMSCryptoInit              (void);

XMLSec library specific crypto engine initialization.

Returns :

0 on success or a negative value otherwise.


xmlSecMSCryptoShutdown ()

int         xmlSecMSCryptoShutdown          (void);

XMLSec library specific crypto engine shutdown.

Returns :

0 on success or a negative value otherwise.


xmlSecMSCryptoKeysMngrInit ()

int         xmlSecMSCryptoKeysMngrInit      (xmlSecKeysMngrPtr mngr);

Adds MSCrypto specific key data stores in keys manager.

mngr:

the pointer to keys manager.

Returns :

0 on success or a negative value otherwise.


xmlSecMSCryptoGenerateRandom ()

int         xmlSecMSCryptoGenerateRandom    (xmlSecBufferPtr buffer,
                                             size_t size);

Generates size random bytes and puts result in buffer (not implemented yet).

buffer:

the destination buffer.

size:

the numer of bytes to generate.

Returns :

0 on success or a negative value otherwise.


xmlSecMSCryptoErrorsDefaultCallback ()

void        xmlSecMSCryptoErrorsDefaultCallback
                                            (const char *file,
                                             int line,
                                             const char *func,
                                             const char *errorObject,
                                             const char *errorSubject,
                                             int reason,
                                             const char *msg);

The default errors reporting callback function.

file:

the error location file name (__FILE__ macro).

line:

the error location line number (__LINE__ macro).

func:

the error location function name (__FUNCTION__ macro).

errorObject:

the error specific error object

errorSubject:

the error specific error subject.

reason:

the error code.

msg:

the additional error message.


xmlSecMSCryptoCertStrToName ()

BYTE*       xmlSecMSCryptoCertStrToName     (DWORD dwCertEncodingType,
                                             LPCTSTR pszX500,
                                             DWORD dwStrType,
                                             DWORD *len);

Converts input string to name by calling CertStrToName function.

dwCertEncodingType:

the encoding used.

pszX500:

the string to convert.

dwStrType:

the string type.

len:

the result len.

Returns :

a pointer to newly allocated string or NULL if an error occurs.


xmlSecMSCryptoKeyDataDsaId

#define     xmlSecMSCryptoKeyDataDsaId

The DSA key klass.


xmlSecMSCryptoKeyDataDsaGetKlass ()

xmlSecKeyDataId xmlSecMSCryptoKeyDataDsaGetKlass
                                            (void);

The DSA key data klass.

Returns :

pointer to DSA key data klass.


xmlSecMSCryptoTransformDsaSha1Id

#define     xmlSecMSCryptoTransformDsaSha1Id

The DSA SHA1 signature transform klass.


xmlSecMSCryptoTransformDsaSha1GetKlass ()

xmlSecTransformId xmlSecMSCryptoTransformDsaSha1GetKlass
                                            (void);

The DSA-SHA1 signature transform klass.

Returns :

DSA-SHA1 signature transform klass.


xmlSecMSCryptoKeyDataGost2001Id

#define     xmlSecMSCryptoKeyDataGost2001Id

The GOST2001 key klass.


xmlSecMSCryptoKeyDataGost2001GetKlass ()

xmlSecKeyDataId xmlSecMSCryptoKeyDataGost2001GetKlass
                                            (void);

The GOST2001 key data klass.

Returns :

pointer to GOST2001 key data klass.


xmlSecMSCryptoTransformGost2001GostR3411_94Id

#define     xmlSecMSCryptoTransformGost2001GostR3411_94Id

The GOST2001 GOSTR3411_94 signature transform klass.


xmlSecMSCryptoTransformGost2001GostR3411_94GetKlass ()

xmlSecTransformId xmlSecMSCryptoTransformGost2001GostR3411_94GetKlass
                                            (void);

The GOST2001-GOSTR3411_94 signature transform klass.

Returns :

GOST2001-GOSTR3411_94 signature transform klass.


xmlSecMSCryptoKeyDataRsaId

#define     xmlSecMSCryptoKeyDataRsaId

The RSA key klass.


xmlSecMSCryptoKeyDataRsaGetKlass ()

xmlSecKeyDataId xmlSecMSCryptoKeyDataRsaGetKlass
                                            (void);

The MSCrypto RSA CertKey data klass.

Returns :

pointer to MSCrypto RSA key data klass.


xmlSecMSCryptoTransformRsaSha1Id

#define     xmlSecMSCryptoTransformRsaSha1Id

The RSA-SHA1 signature transform klass.


xmlSecMSCryptoTransformRsaSha1GetKlass ()

xmlSecTransformId xmlSecMSCryptoTransformRsaSha1GetKlass
                                            (void);

The RSA-SHA1 signature transform klass.

Returns :

RSA-SHA1 signature transform klass.


xmlSecMSCryptoTransformRsaPkcs1Id

#define     xmlSecMSCryptoTransformRsaPkcs1Id

The RSA PKCS1 key transport transform klass.


xmlSecMSCryptoTransformRsaPkcs1GetKlass ()

xmlSecTransformId xmlSecMSCryptoTransformRsaPkcs1GetKlass
                                            (void);

The RSA-PKCS1 key transport transform klass.

Returns :

RSA-PKCS1 key transport transform klass.


xmlSecMSCryptoTransformSha1Id

#define     xmlSecMSCryptoTransformSha1Id

The SHA1 digest transform klass.


xmlSecMSCryptoTransformSha1GetKlass ()

xmlSecTransformId xmlSecMSCryptoTransformSha1GetKlass
                                            (void);

SHA-1 digest transform klass.

Returns :

pointer to SHA-1 digest transform klass.


xmlSecMSCryptoTransformGostR3411_94Id

#define     xmlSecMSCryptoTransformGostR3411_94Id

The GOSTR3411_94 digest transform klass.


xmlSecMSCryptoTransformGostR3411_94GetKlass ()

xmlSecTransformId xmlSecMSCryptoTransformGostR3411_94GetKlass
                                            (void);

GOSTR3411_94 digest transform klass.

Returns :

pointer to GOSTR3411_94 digest transform klass.


xmlSecMSCryptoKeyDataAesId

#define     xmlSecMSCryptoKeyDataAesId

The AES key data klass.


xmlSecMSCryptoKeyDataAesGetKlass ()

xmlSecKeyDataId xmlSecMSCryptoKeyDataAesGetKlass
                                            (void);

The AES key data klass.

Returns :

AES key data klass.


xmlSecMSCryptoKeyDataAesSet ()

int         xmlSecMSCryptoKeyDataAesSet     (xmlSecKeyDataPtr data,
                                             const xmlSecByte *buf,
                                             xmlSecSize bufSize);

Sets the value of AES key data.

data:

the pointer to AES key data.

buf:

the pointer to key value.

bufSize:

the key value size (in bytes).

Returns :

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


xmlSecMSCryptoTransformAes128CbcId

#define     xmlSecMSCryptoTransformAes128CbcId

The AES128 CBC cipher transform klass.


xmlSecMSCryptoTransformAes128CbcGetKlass ()

xmlSecTransformId xmlSecMSCryptoTransformAes128CbcGetKlass
                                            (void);

AES 128 CBC encryption transform klass.

Returns :

pointer to AES 128 CBC encryption transform.


xmlSecMSCryptoTransformAes192CbcId

#define     xmlSecMSCryptoTransformAes192CbcId

The AES192 CBC cipher transform klass.


xmlSecMSCryptoTransformAes192CbcGetKlass ()

xmlSecTransformId xmlSecMSCryptoTransformAes192CbcGetKlass
                                            (void);

AES 192 CBC encryption transform klass.

Returns :

pointer to AES 192 CBC encryption transform.


xmlSecMSCryptoTransformAes256CbcId

#define     xmlSecMSCryptoTransformAes256CbcId

The AES256 CBC cipher transform klass.


xmlSecMSCryptoTransformAes256CbcGetKlass ()

xmlSecTransformId xmlSecMSCryptoTransformAes256CbcGetKlass
                                            (void);

AES 256 CBC encryption transform klass.

Returns :

pointer to AES 256 CBC encryption transform.


xmlSecMSCryptoKeyDataDesId

#define     xmlSecMSCryptoKeyDataDesId

The DES key data klass.


xmlSecMSCryptoKeyDataDesGetKlass ()

xmlSecKeyDataId xmlSecMSCryptoKeyDataDesGetKlass
                                            (void);

The DES key data klass.

Returns :

DES key data klass.


xmlSecMSCryptoTransformDes3CbcId

#define     xmlSecMSCryptoTransformDes3CbcId

The DES3 CBC cipher transform klass.


xmlSecMSCryptoTransformDes3CbcGetKlass ()

xmlSecTransformId xmlSecMSCryptoTransformDes3CbcGetKlass
                                            (void);

Triple DES CBC encryption transform klass.

Returns :

pointer to Triple DES encryption transform.