UNPKG

@peculiar/fortify-client-core

Version:

Fortify client core API for quickly connect to Fortify App

39 lines (38 loc) 1.53 kB
/** * @license * Copyright (c) Peculiar Ventures, LLC. * * This source code is licensed under the BSD 3-Clause license found in the * LICENSE file in the root directory of this source tree. */ import { Extension as AsnExtension, id_ce_keyUsage, KeyUsage, id_ce_certificatePolicies, CertificatePolicies, id_ce_basicConstraints, BasicConstraints, } from '@peculiar/asn1-x509'; import { id_pe_qcStatements, QCStatements, } from '@peculiar/asn1-x509-qualified'; import { AsnParser } from '@peculiar/asn1-schema'; import { AsnData } from './asn_data'; export class Extension extends AsnData { value; constructor(raw) { super(raw, AsnExtension); const asnExtnValue = this.getAsnExtnValue(); switch (this.asn.extnID) { case id_ce_keyUsage: this.value = AsnParser.parse(asnExtnValue, KeyUsage); break; case id_ce_certificatePolicies: this.value = AsnParser.parse(asnExtnValue, CertificatePolicies); break; case id_pe_qcStatements: this.value = AsnParser.parse(asnExtnValue, QCStatements); break; case id_ce_basicConstraints: this.value = AsnParser.parse(asnExtnValue, BasicConstraints); break; default: // eslint-disable-next-line @typescript-eslint/no-explicit-any this.value = asnExtnValue; } } getAsnExtnValue() { return this.asn.extnValue.buffer; } }