@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
JavaScript
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);