UNPKG

@peculiar/asn1-x509

Version:

ASN.1 schema of `Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile` (RFC5280)

63 lines (62 loc) 2.15 kB
import { __decorate } from "tslib"; import { AsnProp, AsnPropTypes, AsnIntegerArrayBufferConverter } from "@peculiar/asn1-schema"; import { AlgorithmIdentifier } from "./algorithm_identifier"; import { Name } from "./name"; import { SubjectPublicKeyInfo } from "./subject_public_key_info"; import { Validity } from "./validity"; import { Extensions } from "./extension"; import { Version } from "./types"; export class TBSCertificate { constructor(params = {}) { this.version = Version.v1; this.serialNumber = new ArrayBuffer(0); this.signature = new AlgorithmIdentifier(); this.issuer = new Name(); this.validity = new Validity(); this.subject = new Name(); this.subjectPublicKeyInfo = new SubjectPublicKeyInfo(); Object.assign(this, params); } } __decorate([ AsnProp({ type: AsnPropTypes.Integer, context: 0, defaultValue: Version.v1, }) ], TBSCertificate.prototype, "version", void 0); __decorate([ AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter, }) ], TBSCertificate.prototype, "serialNumber", void 0); __decorate([ AsnProp({ type: AlgorithmIdentifier }) ], TBSCertificate.prototype, "signature", void 0); __decorate([ AsnProp({ type: Name }) ], TBSCertificate.prototype, "issuer", void 0); __decorate([ AsnProp({ type: Validity }) ], TBSCertificate.prototype, "validity", void 0); __decorate([ AsnProp({ type: Name }) ], TBSCertificate.prototype, "subject", void 0); __decorate([ AsnProp({ type: SubjectPublicKeyInfo }) ], TBSCertificate.prototype, "subjectPublicKeyInfo", void 0); __decorate([ AsnProp({ type: AsnPropTypes.BitString, context: 1, implicit: true, optional: true, }) ], TBSCertificate.prototype, "issuerUniqueID", void 0); __decorate([ AsnProp({ type: AsnPropTypes.BitString, context: 2, implicit: true, optional: true }) ], TBSCertificate.prototype, "subjectUniqueID", void 0); __decorate([ AsnProp({ type: Extensions, context: 3, optional: true }) ], TBSCertificate.prototype, "extensions", void 0);