UNPKG

@peculiar/asn1-ess

Version:

ASN.1 schema based on Enhanced Security Services (ESS) for S/MIME (RFC 2634)

69 lines (68 loc) 2.3 kB
import { __decorate } from "tslib"; import { AsnProp, AsnPropTypes, OctetString } from "@peculiar/asn1-schema"; import { AlgorithmIdentifier, GeneralNames, PolicyInformation, } from "@peculiar/asn1-x509"; import { id_sha256 } from "@peculiar/asn1-rsa"; export class IssuerSerial { constructor(params = {}) { this.issuer = new GeneralNames(); this.serialNumber = new ArrayBuffer(0); Object.assign(this, params); } } __decorate([ AsnProp({ type: GeneralNames }) ], IssuerSerial.prototype, "issuer", void 0); __decorate([ AsnProp({ type: AsnPropTypes.Integer }) ], IssuerSerial.prototype, "serialNumber", void 0); export class ESSCertID { constructor(params = {}) { this.certHash = new OctetString(); Object.assign(this, params); } } __decorate([ AsnProp({ type: OctetString }) ], ESSCertID.prototype, "certHash", void 0); __decorate([ AsnProp({ type: IssuerSerial, optional: true }) ], ESSCertID.prototype, "issuerSerial", void 0); export class SigningCertificate { constructor(params = {}) { this.certs = []; Object.assign(this, params); } } __decorate([ AsnProp({ type: ESSCertID, repeated: "sequence" }) ], SigningCertificate.prototype, "certs", void 0); __decorate([ AsnProp({ type: PolicyInformation, repeated: "sequence", optional: true }) ], SigningCertificate.prototype, "policies", void 0); export class ESSCertIDv2 { constructor(params = {}) { this.certHash = new OctetString(); Object.assign(this, params); } } __decorate([ AsnProp({ type: AlgorithmIdentifier, defaultValue: id_sha256 }) ], ESSCertIDv2.prototype, "hashAlgorithm", void 0); __decorate([ AsnProp({ type: OctetString }) ], ESSCertIDv2.prototype, "certHash", void 0); __decorate([ AsnProp({ type: IssuerSerial, optional: true }) ], ESSCertIDv2.prototype, "issuerSerial", void 0); export class SigningCertificateV2 { constructor(params = {}) { this.certs = []; Object.assign(this, params); } } __decorate([ AsnProp({ type: ESSCertIDv2, repeated: "sequence" }) ], SigningCertificateV2.prototype, "certs", void 0); __decorate([ AsnProp({ type: PolicyInformation, repeated: "sequence", optional: true }) ], SigningCertificateV2.prototype, "policies", void 0);