Skip to content

API XMLSec NSS X509

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

NSS X.509 Support

API Group: xmlsec_nss_x509

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

X509 certificates verification support functions for NSS.

X509 certificates implementation for NSS. X509 certificates implementation for NSS.

Macros

xmlSecNssKeyDataX509Id

Defined as: xmlSecNssKeyDataX509GetKlass()

Source: include/xmlsec/nss/x509.h

The NSS X509 data klass.


xmlSecNssKeyDataRawX509CertId

Defined as: xmlSecNssKeyDataRawX509CertGetKlass()

Source: include/xmlsec/nss/x509.h

The NSS raw X509 certificate klass.


xmlSecNssX509StoreId

Defined as: xmlSecNssX509StoreGetKlass()

Source: include/xmlsec/nss/x509.h

The NSS X509 store klass.


Functions

xmlSecNssKeyDataX509GetKlass

xmlSecKeyDataId xmlSecNssKeyDataX509GetKlass(void);

Source: include/xmlsec/nss/x509.h

The NSS X509 key data klass.

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

Returns: the X509 data klass.


xmlSecNssKeyDataX509GetKeyCert

CERTCertificate * xmlSecNssKeyDataX509GetKeyCert(xmlSecKeyDataPtr data);

Source: include/xmlsec/nss/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.


xmlSecNssKeyDataX509AdoptKeyCert

int xmlSecNssKeyDataX509AdoptKeyCert(xmlSecKeyDataPtr data, CERTCertificate *cert);

Source: include/xmlsec/nss/x509.h

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

Parameters:

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

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


xmlSecNssKeyDataX509AdoptCert

int xmlSecNssKeyDataX509AdoptCert(xmlSecKeyDataPtr data, CERTCertificate *cert);

Source: include/xmlsec/nss/x509.h

Adds certificate to the X509 key data.

Parameters:

  • data — the pointer to X509 key data.
  • cert — the pointer to NSS X509 certificate.

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


xmlSecNssKeyDataX509GetCert

CERTCertificate * xmlSecNssKeyDataX509GetCert(xmlSecKeyDataPtr data, xmlSecSize pos);

Source: include/xmlsec/nss/x509.h

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.


xmlSecNssKeyDataX509GetCertsSize

xmlSecSize xmlSecNssKeyDataX509GetCertsSize(xmlSecKeyDataPtr data);

Source: include/xmlsec/nss/x509.h

Gets the number of certificates in data.

Parameters:

  • data — the pointer to X509 key data.

Returns: te number of certificates in data.


xmlSecNssKeyDataX509AdoptCrl

int xmlSecNssKeyDataX509AdoptCrl(xmlSecKeyDataPtr data, CERTSignedCrl *crl);

Source: include/xmlsec/nss/x509.h

Adds CRL to the X509 key data.

Parameters:

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

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


xmlSecNssKeyDataX509GetCrl

CERTSignedCrl * xmlSecNssKeyDataX509GetCrl(xmlSecKeyDataPtr data, xmlSecSize pos);

Source: include/xmlsec/nss/x509.h

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.


xmlSecNssKeyDataX509GetCrlsSize

xmlSecSize xmlSecNssKeyDataX509GetCrlsSize(xmlSecKeyDataPtr data);

Source: include/xmlsec/nss/x509.h

Gets the number of CRLs in data.

Parameters:

  • data — the pointer to X509 key data.

Returns: te number of CRLs in data.


xmlSecNssX509CertGetKey

xmlSecKeyDataPtr xmlSecNssX509CertGetKey(CERTCertificate *cert);

Source: include/xmlsec/nss/x509.h

Extracts public key from the cert.

Parameters:

  • cert — the certificate.

Returns: public key value or NULL if an error occurs.


xmlSecNssKeyDataRawX509CertGetKlass

xmlSecKeyDataId xmlSecNssKeyDataRawX509CertGetKlass(void);

Source: include/xmlsec/nss/x509.h

The raw X509 certificates key data klass.

Returns: raw X509 certificates key data klass.


xmlSecNssX509StoreGetKlass

xmlSecKeyDataStoreId xmlSecNssX509StoreGetKlass(void);

Source: include/xmlsec/nss/x509.h

The NSS X509 certificates key data store klass.

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


xmlSecNssX509StoreVerify

CERTCertificate * xmlSecNssX509StoreVerify(xmlSecKeyDataStorePtr store, CERTCertList *certs, xmlSecKeyInfoCtx *keyInfoCtx);

Source: include/xmlsec/nss/x509.h

Verifies certs list.

Parameters:

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


xmlSecNssX509StoreAdoptCert

int xmlSecNssX509StoreAdoptCert(xmlSecKeyDataStorePtr store, CERTCertificate *cert, xmlSecKeyDataType type);

Source: include/xmlsec/nss/x509.h

Adds cert to the trusted or untrusted store.

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

Parameters:

  • store — the pointer to X509 key data store klass.
  • cert — the pointer to NSS X509 certificate.
  • type — the certificate type (trusted/untrusted).

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


xmlSecNssX509StoreAdoptCrl

int xmlSecNssX509StoreAdoptCrl(xmlSecKeyDataStorePtr store, CERTSignedCrl *crl);

Source: include/xmlsec/nss/x509.h

Adds CRL to the store.

Parameters:

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

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


xmlSecNssX509StoreFindCert

CERTCertificate * xmlSecNssX509StoreFindCert(xmlSecKeyDataStorePtr store, xmlChar *subjectName, xmlChar *issuerName, xmlChar *issuerSerial, xmlChar *ski, xmlSecKeyInfoCtx *keyInfoCtx);

Source: include/xmlsec/nss/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.


xmlSecNssX509StoreFindCert_ex

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

Source: include/xmlsec/nss/x509.h

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


Clone this wiki locally