XML Security Library

LibXML2
LibXSLT
OpenSSL

x509

x509 — X509 certificates implementation for Microsoft Crypto API.

Stability Level

Stable, unless otherwise indicated

Description

Functions

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.

Parameters

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 .

Parameters

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.

Parameters

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.

Parameters

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 .

Parameters

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.

Parameters

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.

Parameters

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 .

Parameters

data

the pointer to X509 key data.

Returns

te number of CRLs in data .


xmlSecMSCryptoKeyDataRawX509CertGetKlass ()

xmlSecKeyDataId
xmlSecMSCryptoKeyDataRawX509CertGetKlass
                               (void);

The raw X509 certificates key data klass.

Returns

raw X509 certificates key data klass.


xmlSecMSCryptoX509StoreGetKlass ()

xmlSecKeyDataStoreId
xmlSecMSCryptoX509StoreGetKlass (void);

The MSCrypto X509 certificates key data store klass.

Returns

pointer to MSCrypto X509 certificates key data store klass.


xmlSecMSCryptoX509StoreAdoptCert ()

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

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

Parameters

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.

Parameters

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.

Parameters

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.

Parameters

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.

Parameters

store

the pointer to X509 key data store klass.

val

the enable/disable flag

Types and Values

xmlSecMSCryptoKeyDataX509Id

#define             xmlSecMSCryptoKeyDataX509Id

The MSCrypto X509 data klass.


xmlSecMSCryptoKeyDataRawX509CertId

#define             xmlSecMSCryptoKeyDataRawX509CertId

The MSCrypto raw X509 certificate klass.


xmlSecMSCryptoX509StoreId

#define             xmlSecMSCryptoX509StoreId

The MSCrypto X509 store klass.