@peculiar/asn1-x509
Version:
ASN.1 schema of `Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile` (RFC5280)
47 lines (46 loc) • 1.84 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.EntrustVersionInfo = exports.EntrustInfo = exports.EntrustInfoFlags = exports.id_entrust_entrustVersInfo = void 0;
const tslib_1 = require("tslib");
const asn1_schema_1 = require("@peculiar/asn1-schema");
exports.id_entrust_entrustVersInfo = "1.2.840.113533.7.65.0";
var EntrustInfoFlags;
(function (EntrustInfoFlags) {
EntrustInfoFlags[EntrustInfoFlags["keyUpdateAllowed"] = 1] = "keyUpdateAllowed";
EntrustInfoFlags[EntrustInfoFlags["newExtensions"] = 2] = "newExtensions";
EntrustInfoFlags[EntrustInfoFlags["pKIXCertificate"] = 4] = "pKIXCertificate";
})(EntrustInfoFlags || (exports.EntrustInfoFlags = EntrustInfoFlags = {}));
class EntrustInfo extends asn1_schema_1.BitString {
toJSON() {
const res = [];
const flags = this.toNumber();
if (flags & EntrustInfoFlags.pKIXCertificate) {
res.push("pKIXCertificate");
}
if (flags & EntrustInfoFlags.newExtensions) {
res.push("newExtensions");
}
if (flags & EntrustInfoFlags.keyUpdateAllowed) {
res.push("keyUpdateAllowed");
}
return res;
}
toString() {
return `[${this.toJSON().join(", ")}]`;
}
}
exports.EntrustInfo = EntrustInfo;
class EntrustVersionInfo {
constructor(params = {}) {
this.entrustVers = "";
this.entrustInfoFlags = new EntrustInfo();
Object.assign(this, params);
}
}
exports.EntrustVersionInfo = EntrustVersionInfo;
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.GeneralString })
], EntrustVersionInfo.prototype, "entrustVers", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: EntrustInfo })
], EntrustVersionInfo.prototype, "entrustInfoFlags", void 0);