XML Security Library

LibXML2
LibXSLT
OpenSSL

x509

Name

x509--X509 certificates support implementation for MS Crypto.

Synopsis


#define     xmlSecMSCryptoKeyDataX509Id
xmlSecKeyDataId xmlSecMSCryptoKeyDataX509GetKlass
                                            (void);
PCCERT_CONTEXT xmlSecMSCryptoKeyDataX509GetKeyCert
                                            (xmlSecKeyDataPtr data);
int         xmlSecMSCryptoKeyDataX509AdoptKeyCert
                                            (xmlSecKeyDataPtr data,
                                             PCCERT_CONTEXT cert);
int         xmlSecMSCryptoKeyDataX509AdoptCert
                                            (xmlSecKeyDataPtr data,
                                             PCCERT_CONTEXT cert);
PCCERT_CONTEXT xmlSecMSCryptoKeyDataX509GetCert
                                            (xmlSecKeyDataPtr data,
                                             xmlSecSize pos);
xmlSecSize  xmlSecMSCryptoKeyDataX509GetCertsSize
                                            (xmlSecKeyDataPtr data);
int         xmlSecMSCryptoKeyDataX509AdoptCrl
                                            (xmlSecKeyDataPtr data,
                                             PCCRL_CONTEXT crl);
PCCRL_CONTEXT xmlSecMSCryptoKeyDataX509GetCrl
                                            (xmlSecKeyDataPtr data,
                                             xmlSecSize pos);
xmlSecSize  xmlSecMSCryptoKeyDataX509GetCrlsSize
                                            (xmlSecKeyDataPtr data);
#define     xmlSecMSCryptoKeyDataRawX509CertId
xmlSecKeyDataId xmlSecMSCryptoKeyDataRawX509CertGetKlass
                                            (void);
#define     xmlSecMSCryptoX509StoreId
xmlSecKeyDataStoreId xmlSecMSCryptoX509StoreGetKlass
                                            (void);
PCCERT_CONTEXT xmlSecMSCryptoX509StoreFindCert
                                            (xmlSecKeyDataStorePtr store,
                                             xmlChar *subjectName,
                                             xmlChar *issuerName,
                                             xmlChar *issuerSerial,
                                             xmlChar *ski,
                                             xmlSecKeyInfoCtx *keyInfoCtx);
PCCERT_CONTEXT xmlSecMSCryptoX509StoreVerify
                                            (xmlSecKeyDataStorePtr store,
                                             HCERTSTORE certs,
                                             xmlSecKeyInfoCtx *keyInfoCtx);
int         xmlSecMSCryptoX509StoreAdoptCert
                                            (xmlSecKeyDataStorePtr store,
                                             PCCERT_CONTEXT cert,
                                             xmlSecKeyDataType type);
int         xmlSecMSCryptoX509StoreAdoptKeyStore
                                            (xmlSecKeyDataStorePtr store,
                                             HCERTSTORE keyStore);
int         xmlSecMSCryptoX509StoreAdoptTrustedStore
                                            (xmlSecKeyDataStorePtr store,
                                             HCERTSTORE trustedStore);
int         xmlSecMSCryptoX509StoreAdoptUntrustedStore
                                            (xmlSecKeyDataStorePtr store,
                                             HCERTSTORE untrustedStore);
void        xmlSecMSCryptoX509StoreEnableSystemTrustedCerts
                                            (xmlSecKeyDataStorePtr store,
                                             int val);

Description

X509 certificates support implementation for MS Crypto.

Details

xmlSecMSCryptoKeyDataX509Id

#define     xmlSecMSCryptoKeyDataX509Id

The MSCrypto X509 data klass.


xmlSecMSCryptoKeyDataX509GetKlass ()

xmlSecKeyDataId xmlSecMSCryptoKeyDataX509GetKlass
                                            (void);

The MSCrypto X509 key data klass (http://www.w3.org/TR/xmldsig-core/sec-X509Data).

Returns :

the X509 data klass.


xmlSecMSCryptoKeyDataX509GetKeyCert ()

PCCERT_CONTEXT xmlSecMSCryptoKeyDataX509GetKeyCert
                                            (xmlSecKeyDataPtr data);

Gets the certificate from which the key was extracted.

data:

the pointer to X509 key data.

Returns :

the key's certificate or NULL if key data was not used for key extraction or an error occurs.


xmlSecMSCryptoKeyDataX509AdoptKeyCert ()

int         xmlSecMSCryptoKeyDataX509AdoptKeyCert
                                            (xmlSecKeyDataPtr data,
                                             PCCERT_CONTEXT cert);

Sets the key's certificate in data.

data:

the pointer to X509 key data.

cert:

the pointer to MSCRYPTO X509 certificate.

Returns :

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


xmlSecMSCryptoKeyDataX509AdoptCert ()

int         xmlSecMSCryptoKeyDataX509AdoptCert
                                            (xmlSecKeyDataPtr data,
                                             PCCERT_CONTEXT cert);

Adds certificate to the X509 key data.

data:

the pointer to X509 key data.

cert:

the pointer to MSCRYPTO X509 certificate.

Returns :

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


xmlSecMSCryptoKeyDataX509GetCert ()

PCCERT_CONTEXT xmlSecMSCryptoKeyDataX509GetCert
                                            (xmlSecKeyDataPtr data,
                                             xmlSecSize pos);

Gets a certificate from X509 key data.

data:

the pointer to X509 key data.

pos:

the desired certificate position.

Returns :

the pointer to certificate or NULL if pos is larger than the number of certificates in data or an error occurs.


xmlSecMSCryptoKeyDataX509GetCertsSize ()

xmlSecSize  xmlSecMSCryptoKeyDataX509GetCertsSize
                                            (xmlSecKeyDataPtr data);

Gets the number of certificates in data.

data:

the pointer to X509 key data.

Returns :

te number of certificates in data.


xmlSecMSCryptoKeyDataX509AdoptCrl ()

int         xmlSecMSCryptoKeyDataX509AdoptCrl
                                            (xmlSecKeyDataPtr data,
                                             PCCRL_CONTEXT crl);

Adds CRL to the X509 key data.

data:

the pointer to X509 key data.

crl:

the pointer to MSCrypto X509 CRL.

Returns :

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


xmlSecMSCryptoKeyDataX509GetCrl ()

PCCRL_CONTEXT xmlSecMSCryptoKeyDataX509GetCrl
                                            (xmlSecKeyDataPtr data,
                                             xmlSecSize pos);

Gets a CRL from X509 key data.

data:

the pointer to X509 key data.

pos:

the desired CRL position.

Returns :

the pointer to CRL or NULL if pos is larger than the number of CRLs in data or an error occurs.


xmlSecMSCryptoKeyDataX509GetCrlsSize ()

xmlSecSize  xmlSecMSCryptoKeyDataX509GetCrlsSize
                                            (xmlSecKeyDataPtr data);

Gets the number of CRLs in data.

data:

the pointer to X509 key data.

Returns :

te number of CRLs in data.


xmlSecMSCryptoKeyDataRawX509CertId

#define     xmlSecMSCryptoKeyDataRawX509CertId

The MSCrypto raw X509 certificate klass.


xmlSecMSCryptoKeyDataRawX509CertGetKlass ()

xmlSecKeyDataId xmlSecMSCryptoKeyDataRawX509CertGetKlass
                                            (void);

The raw X509 certificates key data klass.

Returns :

raw X509 certificates key data klass.


xmlSecMSCryptoX509StoreId

#define     xmlSecMSCryptoX509StoreId

The MSCrypto X509 store klass.


xmlSecMSCryptoX509StoreGetKlass ()

xmlSecKeyDataStoreId xmlSecMSCryptoX509StoreGetKlass
                                            (void);

The MSCrypto X509 certificates key data store klass.

Returns :

pointer to MSCrypto X509 certificates key data store klass.


xmlSecMSCryptoX509StoreFindCert ()

PCCERT_CONTEXT xmlSecMSCryptoX509StoreFindCert
                                            (xmlSecKeyDataStorePtr store,
                                             xmlChar *subjectName,
                                             xmlChar *issuerName,
                                             xmlChar *issuerSerial,
                                             xmlChar *ski,
                                             xmlSecKeyInfoCtx *keyInfoCtx);

Searches store for a certificate that matches given criteria.

store:

the pointer to X509 key data store klass.

subjectName:

the desired certificate name.

issuerName:

the desired certificate issuer name.

issuerSerial:

the desired certificate issuer serial number.

ski:

the desired certificate SKI.

keyInfoCtx:

the pointer to <dsig:KeyInfo/> element processing context.

Returns :

pointer to found certificate or NULL if certificate is not found or an error occurs.


xmlSecMSCryptoX509StoreVerify ()

PCCERT_CONTEXT xmlSecMSCryptoX509StoreVerify
                                            (xmlSecKeyDataStorePtr store,
                                             HCERTSTORE certs,
                                             xmlSecKeyInfoCtx *keyInfoCtx);

Verifies certs list.

store:

the pointer to X509 certificate context store klass.

certs:

the untrusted certificates stack.

keyInfoCtx:

the pointer to <dsig:KeyInfo/> element processing context.

Returns :

pointer to the first verified certificate from certs.


xmlSecMSCryptoX509StoreAdoptCert ()

int         xmlSecMSCryptoX509StoreAdoptCert
                                            (xmlSecKeyDataStorePtr store,
                                             PCCERT_CONTEXT cert,
                                             xmlSecKeyDataType type);

Adds trusted (root) or untrusted certificate to the store.

store:

the pointer to X509 key data store klass.

cert:

the pointer to PCCERT_CONTEXT X509 certificate.

type:

the certificate type (trusted/untrusted).

Returns :

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


xmlSecMSCryptoX509StoreAdoptKeyStore ()

int         xmlSecMSCryptoX509StoreAdoptKeyStore
                                            (xmlSecKeyDataStorePtr store,
                                             HCERTSTORE keyStore);

Adds keyStore to the list of key stores.

store:

the pointer to X509 key data store klass.

keyStore:

the pointer to keys store.

Returns :

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


xmlSecMSCryptoX509StoreAdoptTrustedStore ()

int         xmlSecMSCryptoX509StoreAdoptTrustedStore
                                            (xmlSecKeyDataStorePtr store,
                                             HCERTSTORE trustedStore);

Adds trustedStore to the list of trusted certs stores.

store:

the pointer to X509 key data store klass.

trustedStore:

the pointer to certs store.

Returns :

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


xmlSecMSCryptoX509StoreAdoptUntrustedStore ()

int         xmlSecMSCryptoX509StoreAdoptUntrustedStore
                                            (xmlSecKeyDataStorePtr store,
                                             HCERTSTORE untrustedStore);

Adds trustedStore to the list of un-trusted certs stores.

store:

the pointer to X509 key data store klass.

untrustedStore:

the pointer to certs store.

Returns :

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


xmlSecMSCryptoX509StoreEnableSystemTrustedCerts ()

void        xmlSecMSCryptoX509StoreEnableSystemTrustedCerts
                                            (xmlSecKeyDataStorePtr store,
                                             int val);

Enables/disables the system trusted certs.

store:

the pointer to X509 key data store klass.

val:

the enable/disable flag