Skip to main content

Class: OCSPRequest

Represents an OCSP request described in RFC6960 Section 4.1

Example

The following example demonstrates how to create OCSP request

// Create OCSP request
const ocspReq = new pkijs.OCSPRequest();

ocspReq.tbsRequest.requestorName = new pkijs.GeneralName({
type: 4,
value: cert.subject,
});

await ocspReq.createForCertificate(cert, {
hashAlgorithm: "SHA-256",
issuerCertificate: issuerCert,
});

const nonce = pkijs.getRandomValues(new Uint8Array(10));
ocspReq.tbsRequest.requestExtensions = [
new pkijs.Extension({
extnID: "1.3.6.1.5.5.7.48.1.2", // nonce
extnValue: new asn1js.OctetString({ valueHex: nonce.buffer }).toBER(),
})
];

// Encode OCSP request
const ocspReqRaw = ocspReq.toSchema(true).toBER();

Hierarchy

Implements

Constructors

constructor

new OCSPRequest(parameters?): OCSPRequest

Initializes a new instance of the OCSPRequest class

Parameters

NameTypeDescription
parametersOCSPRequestParametersInitialization parameters

Returns

OCSPRequest

Overrides

PkiObject.constructor

Properties

optionalSignature

Optional optionalSignature: Signature

Implementation of

IOCSPRequest.optionalSignature


tbsRequest

tbsRequest: TBSRequest

Implementation of

IOCSPRequest.tbsRequest


CLASS_NAME

Static CLASS_NAME: string = "OCSPRequest"

Name of the class

Overrides

PkiObject.CLASS_NAME

Accessors

className

get className(): string

Returns

string

Inherited from

PkiObject.className

Methods

createForCertificate

createForCertificate(certificate, parameters, crypto?): Promise<void>

Making OCSP Request for specific certificate

Parameters

NameTypeDescription
certificateCertificateCertificate making OCSP Request for
parametersCertIDCreateParamsAdditional parameters
cryptoICryptoEngineCrypto engine

Returns

Promise<void>


fromSchema

fromSchema(schema): void

Converts parsed ASN.1 object into current class

Parameters

NameTypeDescription
schemaanyASN.1 schema

Returns

void

Overrides

PkiObject.fromSchema


sign

sign(privateKey, hashAlgorithm?, crypto?): Promise<void>

Make signature for current OCSP Request

Parameters

NameTypeDefault valueDescription
privateKeyCryptoKeyundefinedPrivate key for "subjectPublicKeyInfo" structure
hashAlgorithmstring"SHA-1"Hashing algorithm. Default SHA-1
cryptoICryptoEngineundefinedCrypto engine

Returns

Promise<void>


toJSON

toJSON(): OCSPRequestJson

Converts the class to JSON object

Returns

OCSPRequestJson

JSON object

Overrides

PkiObject.toJSON


toSchema

toSchema(encodeFlag?): Sequence

Converts current object to ASN.1 object and sets correct values

Parameters

NameTypeDefault valueDescription
encodeFlagbooleanfalseIf param equal to false then creates schema via decoding stored value. In other case creates schema via assembling from cached parts

Returns

Sequence

ASN.1 object

Overrides

PkiObject.toSchema


toString

toString(encoding?): string

Parameters

NameTypeDefault value
encoding"base64" | "base64url" | "hex""hex"

Returns

string

Inherited from

PkiObject.toString


verify

verify(): void

Returns

void


blockName

blockName(): string

Returns block name

Returns

string

Returns string block name

Inherited from

PkiObject.blockName


compareWithDefault

compareWithDefault(memberName, memberValue): boolean

Compare values with default values for all class members

Parameters

NameTypeDescription
memberNamestringString name for a class member
memberValueanyValue to compare with default value

Returns

boolean

Returns true if memberValue is equal to default value for selected class member


defaultValues

defaultValues(memberName): TBSRequest

Returns default values for all class members

Parameters

NameTypeDescription
memberName"tbsRequest"String name for a class member

Returns

TBSRequest

Default value

Overrides

PkiObject.defaultValues

defaultValues(memberName): Signature

Parameters

NameType
memberName"optionalSignature"

Returns

Signature

Overrides

PkiObject.defaultValues


fromBER

fromBER<T>(this, raw): T

Creates PKI object from the raw data

Type parameters

NameType
Textends PkiObject

Parameters

NameTypeDescription
thisPkiObjectConstructor<T>-
rawBufferSourceASN.1 encoded raw data

Returns

T

Initialized and filled current class object

Inherited from

PkiObject.fromBER


schema

schema(parameters?): any

Returns value of pre-defined ASN.1 schema for current class

Parameters

NameTypeDescription
parametersSchemaParameters<{ optionalSignature?: SignatureSchema ; tbsRequest?: TBSRequestSchema }>Input parameters for the schema

Returns

any

ASN.1 schema object

Overrides

PkiObject.schema