CERT_FindCertByIssuerAndSN

Find a certificate in the database with the given issuer and serial number.

Syntax

#include <cert.h>
CERTCertificate *CERT_FindCertByIssuerAndSN (

    CERTCertDBHandle *handle,
    CERTIssuerAndSN *issuerAndSN            );

Parameters

handle

in pointer to a CERTCertDBHandle representing the certificate database to look in

issuerAndSN

in pointer to a CERTIssuerAndSN that must be properly formed to contain the issuer name and the serial number (see [Example])

Description

This function creates a certificate key using the issuerAndSN and it then uses the key to find the matching certificate in the database.

Returns

A pointer to a CERTCertificate representing the certificate in the database that matched the issuer and serial number, or NULL if none was found. The certificate is a shallow copy, use CERT_DestroyCertificate to decrement the reference count on the certificate instance.

Example

CERTIssuerAndSN issuerSN;
issuerSN.derIssuer.data = caName->data;
issuerSN.derIssuer.len = caName->len;
issuerSN.serialNumber.data = authorityKeyID->authCertSerialNumber.data;
issuerSN.serialNumber.len = authorityKeyID->authCertSerialNumber.len;
issuerCert = CERT_FindCertByIssuerAndSN(cert->dbhandle, &issuerSN);
if ( issuerCert == NULL ) {
    PORT_SetError (SEC_ERROR_UNKNOWN_ISSUER);
}

See Also

Occurrences of `CERT_FindCertByIssuerAndSN <http://lxr.mozilla.org/security/ident?i=CERT_FindCertByIssuerAndSN>`__ in the current NSS source code (generated by LXR).