Skip to main content

Class: CertificateChainValidationEngine

Represents a chain-building engine for Certificate certificates.

Example

const rootCa = pkijs.Certificate.fromBER(certRaw1);
const intermediateCa = pkijs.Certificate.fromBER(certRaw2);
const leafCert = pkijs.Certificate.fromBER(certRaw3);
const crl1 = pkijs.CertificateRevocationList.fromBER(crlRaw1);
const ocsp1 = pkijs.BasicOCSPResponse.fromBER(ocspRaw1);

const chainEngine = new pkijs.CertificateChainValidationEngine({
certs: [rootCa, intermediateCa, leafCert],
crls: [crl1],
ocsps: [ocsp1],
checkDate: new Date("2015-07-13"), // optional
trustedCerts: [rootCa],
});

const chain = await chainEngine.verify();

Constructors

constructor

new CertificateChainValidationEngine(parameters?): CertificateChainValidationEngine

Constructor for CertificateChainValidationEngine class

Parameters

NameType
parametersCertificateChainValidationEngineParameters

Returns

CertificateChainValidationEngine

Properties

certs

certs: Certificate[]

Array with certificate chain. Could be only one end-user certificate in there!


checkDate

checkDate: Date

The date at which the check would be


crls

crls: CertificateRevocationList[]

Array of all CRLs for all certificates from certificate chain


findIssuer

findIssuer: FindIssuerCallback

The date at which the check would be


findOrigin

findOrigin: FindOriginCallback

The date at which the check would be


ocsps

ocsps: BasicOCSPResponse[]

Array of all OCSP responses


trustedCerts

trustedCerts: Certificate[]

Array of pre-defined trusted (by user) certificates

Methods

defaultFindIssuer

defaultFindIssuer(certificate, validationEngine, crypto?): Promise<Certificate[]>

Parameters

NameType
certificateCertificate
validationEngineCertificateChainValidationEngine
cryptoICryptoEngine

Returns

Promise<Certificate[]>


defaultValues

defaultValues(memberName): Certificate[]

Returns default values for all class members

Parameters

NameTypeDescription
memberName"trustedCerts"String name for a class member

Returns

Certificate[]

Default value

defaultValues(memberName): Certificate[]

Parameters

NameType
memberName"certs"

Returns

Certificate[]

defaultValues(memberName): CertificateRevocationList[]

Parameters

NameType
memberName"crls"

Returns

CertificateRevocationList[]

defaultValues(memberName): BasicOCSPResponse[]

Parameters

NameType
memberName"ocsps"

Returns

BasicOCSPResponse[]

defaultValues(memberName): Date

Parameters

NameType
memberName"checkDate"

Returns

Date

defaultValues(memberName): FindOriginCallback

Parameters

NameType
memberName"findOrigin"

Returns

FindOriginCallback

defaultValues(memberName): FindIssuerCallback

Parameters

NameType
memberName"findIssuer"

Returns

FindIssuerCallback


sort

sort(passedWhenNotRevValues?, crypto?): Promise<Certificate[]>

Parameters

NameTypeDefault value
passedWhenNotRevValuesbooleanfalse
cryptoICryptoEngineundefined

Returns

Promise<Certificate[]>


verify

verify(parameters?, crypto?): Promise<CertificateChainValidationEngineVerifyResult>

Major verification function for certificate chain.

Parameters

NameTypeDescription
parametersCertificateChainValidationEngineVerifyParams
cryptoICryptoEngineCrypto engine

Returns

Promise<CertificateChainValidationEngineVerifyResult>


defaultFindOrigin

defaultFindOrigin(certificate, validationEngine): string

Parameters

NameType
certificateCertificate
validationEngineCertificateChainValidationEngine

Returns

string