.. _mozilla_projects_nss_cert_findcertbyissuerandsn: CERT_FindCertByIssuerAndSN ========================== .. container:: Find a certificate in the database with the given issuer and serial number. `Syntax <#syntax>`__ ~~~~~~~~~~~~~~~~~~~~ .. container:: .. code:: #include CERTCertificate *CERT_FindCertByIssuerAndSN ( CERTCertDBHandle *handle, CERTIssuerAndSN *issuerAndSN ); `Parameters <#parameters>`__ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: +-----------------+-------------------------------------------------------------------------------+ | ``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 <#description>`__ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: This function creates a certificate key using the ``issuerAndSN`` and it then uses the key to find the matching certificate in the database. `Returns <#returns>`__ ~~~~~~~~~~~~~~~~~~~~~~ .. container:: 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 <#example>`__ ~~~~~~~~~~~~~~~~~~~~~~ .. container:: .. code:: 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: `See Also <#see_also>`__ ~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: Occurrences of ```CERT_FindCertByIssuerAndSN`` `__ in the current NSS source code (generated by `LXR `__).