63 lines
2.1 KiB
JavaScript
63 lines
2.1 KiB
JavaScript
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);
|