Skip to content

API XMLSec MSCng X509

Aleksey Sanin edited this page Jun 22, 2026 · 5 revisions

MsCng X.509 Support

API Group: xmlsec_mscng_x509

X.509 certificate handling for the MsCng back-end.

X509 certificates verification support functions for MSCng.

X509 certificates implementation for MSCng. X509 certificates implementation for MSCng.

Macros

xmlSecMSCngKeyDataX509Id

Defined as: xmlSecMSCngKeyDataX509GetKlass()

Source: include/xmlsec/mscng/x509.h

The MSCng X509 data klass.


xmlSecMSCngKeyDataRawX509CertId

Defined as: xmlSecMSCngKeyDataRawX509CertGetKlass()

Source: include/xmlsec/mscng/x509.h

The MSCng raw X509 certificate klass.


xmlSecMSCngX509StoreId

Defined as: xmlSecMSCngX509StoreGetKlass()

Source: include/xmlsec/mscng/x509.h

The MSCng X509 store klass.


Functions

xmlSecMSCngKeyDataX509GetKlass

xmlSecKeyDataId xmlSecMSCngKeyDataX509GetKlass(void);

Source: include/xmlsec/mscng/x509.h

The MSCng X509 key data klass.

Returns: the X509 data klass.


xmlSecMSCngKeyDataRawX509CertGetKlass

xmlSecKeyDataId xmlSecMSCngKeyDataRawX509CertGetKlass(void);

Source: include/xmlsec/mscng/x509.h

The raw X509 certificates key data klass.

Returns: raw X509 certificates key data klass.


xmlSecMSCngX509StoreGetKlass

xmlSecKeyDataStoreId xmlSecMSCngX509StoreGetKlass(void);

Source: include/xmlsec/mscng/x509.h

The MSCng X509 certificates key data store klass.

Returns: pointer to MSCng X509 certificates key data store klass.


xmlSecMSCngKeyDataX509GetKeyCert

void * xmlSecMSCngKeyDataX509GetKeyCert(xmlSecKeyDataPtr data);

Source: include/xmlsec/mscng/x509.h

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.


xmlSecMSCngKeyDataX509AdoptKeyCert

int xmlSecMSCngKeyDataX509AdoptKeyCert(xmlSecKeyDataPtr data, void *cert);

Source: include/xmlsec/mscng/x509.h

Adds certificate to the X509 key data and sets the it as the key's.

Parameters:

  • data — the pointer to key data.
  • cert — the pointer to certificates. certificate in data. On success, the data owns the cert.

Returns: 0 on success or a negative value otherwise.


xmlSecMSCngKeyDataX509AdoptCert

int xmlSecMSCngKeyDataX509AdoptCert(xmlSecKeyDataPtr data, void *cert);

Source: include/xmlsec/mscng/x509.h

Adds a certificate to data.

Adds cert to data as a certificate. On success, data owns the cert.

Parameters:

  • data — the pointer to key data.
  • cert — the pointer to certificates.

Returns: 0 on success or a negative value otherwise.


xmlSecMSCngKeyDataX509AdoptCrl

int xmlSecMSCngKeyDataX509AdoptCrl(xmlSecKeyDataPtr data, PCCRL_CONTEXT crl);

Source: include/xmlsec/mscng/x509.h

Adds CRL to the X509 key data.

Parameters:

  • data — the pointer to X509 key data.
  • crl — the pointer to MSCng X509 CRL.

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


xmlSecMSCngX509StoreAdoptCert

int xmlSecMSCngX509StoreAdoptCert(xmlSecKeyDataStorePtr store, void *cert, xmlSecKeyDataType type);

Source: include/xmlsec/mscng/x509.h

Adds trusted or untrusted certificate to the store.

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

Parameters:

  • store — the pointer to X509 key data store klass.
  • pCert — 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.


xmlSecMSCngX509StoreAdoptCrl

int xmlSecMSCngX509StoreAdoptCrl(xmlSecKeyDataStorePtr store, PCCRL_CONTEXT crl);

Source: include/xmlsec/mscng/x509.h

Adds CRL to the store for revocation checking.

Parameters:

  • store — the pointer to X509 key data store klass.
  • crl — the pointer to PCCRL_CONTEXT X509 CRL.

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


xmlSecMSCngX509StoreVerifyCrl

int xmlSecMSCngX509StoreVerifyCrl(xmlSecKeyDataStorePtr store, PCCRL_CONTEXT crl, xmlSecKeyInfoCtx *keyInfoCtx);

Source: include/xmlsec/mscng/x509.h

Verifies a CRL against trusted certificates in the store.

Verifies crl against the trusted certificates in store.

Parameters:

  • store — the pointer to X509 key data store klass.
  • crl — the pointer to CRL.
  • keyInfoCtx — the pointer to key info context.

Returns: 1 if verified, 0 if not, or a negative value if an error occurs.


xmlSecMSCngX509StoreAdoptKeyStore

int xmlSecMSCngX509StoreAdoptKeyStore(xmlSecKeyDataStorePtr store, void *keyStore);

Source: include/xmlsec/mscng/x509.h

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.


xmlSecMSCngX509StoreAdoptTrustedStore

int xmlSecMSCngX509StoreAdoptTrustedStore(xmlSecKeyDataStorePtr store, void *trustedStore);

Source: include/xmlsec/mscng/x509.h

Adds trustedStore to the trusted certs list.

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.


xmlSecMSCngX509StoreAdoptUntrustedStore

int xmlSecMSCngX509StoreAdoptUntrustedStore(xmlSecKeyDataStorePtr store, void *untrustedStore);

Source: include/xmlsec/mscng/x509.h

Adds trustedStore to the untrusted certs list.

Adds trustedStore to the list of untrusted 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.


xmlSecMSCngX509StoreVerify

void * xmlSecMSCngX509StoreVerify(xmlSecKeyDataStorePtr store, void *certs, xmlSecKeyInfoCtx *keyInfoCtx);

Source: include/xmlsec/mscng/x509.h

Verifies certs list.

Parameters:

  • 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.


xmlSecMSCngX509StoreFindCert

void * xmlSecMSCngX509StoreFindCert(xmlSecKeyDataStorePtr store, xmlChar *subjectName, xmlChar *issuerName, xmlChar *issuerSerial, xmlChar *ski, xmlSecKeyInfoCtx *keyInfoCtx);

Source: include/xmlsec/mscng/x509.h

Searches store for a certificate that matches given criteria.

Parameters:

  • 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.


xmlSecMSCngX509StoreFindCert_ex

void * xmlSecMSCngX509StoreFindCert_ex(xmlSecKeyDataStorePtr store, xmlChar *subjectName, xmlChar *issuerName, xmlChar *issuerSerial, xmlSecByte *ski, xmlSecSize skiSize, xmlSecKeyInfoCtx *keyInfoCtx);

Source: include/xmlsec/mscng/x509.h

Searches store for a certificate that matches given criteria.

Parameters:

  • 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.
  • skiSize — the desired certificate SKI size.
  • 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.


xmlSecMSCngX509FindCertBySubject

void * xmlSecMSCngX509FindCertBySubject(void *store, char *wcSubject, unsigned\ long dwCertEncodingType);

Source: include/xmlsec/mscng/x509.h

Searches for a cert by subject in the store.

Searches for a cert with given subject in the store

Parameters:

  • store — the pointer to certs store
  • wcSubject — the cert subject (Unicode)
  • dwCertEncodingType — the cert encoding type

Returns: cert handle on success or NULL otherwise


Clone this wiki locally