105 lines
4.8 KiB
JavaScript
105 lines
4.8 KiB
JavaScript
"use strict";
|
|
var NonStandardAuthorizationList_1;
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.NonStandardKeyMintKeyDescription = exports.NonStandardKeyDescription = exports.NonStandardAuthorizationList = exports.NonStandardAuthorization = void 0;
|
|
const tslib_1 = require("tslib");
|
|
const asn1_schema_1 = require("@peculiar/asn1-schema");
|
|
const key_description_1 = require("./key_description");
|
|
let NonStandardAuthorization = class NonStandardAuthorization extends key_description_1.AuthorizationList {
|
|
};
|
|
exports.NonStandardAuthorization = NonStandardAuthorization;
|
|
exports.NonStandardAuthorization = NonStandardAuthorization = tslib_1.__decorate([
|
|
(0, asn1_schema_1.AsnType)({ type: asn1_schema_1.AsnTypeTypes.Choice })
|
|
], NonStandardAuthorization);
|
|
let NonStandardAuthorizationList = NonStandardAuthorizationList_1 = class NonStandardAuthorizationList extends asn1_schema_1.AsnArray {
|
|
constructor(items) {
|
|
super(items);
|
|
Object.setPrototypeOf(this, NonStandardAuthorizationList_1.prototype);
|
|
}
|
|
findProperty(key) {
|
|
const prop = this.find((o) => key in o);
|
|
if (prop) {
|
|
return prop[key];
|
|
}
|
|
return undefined;
|
|
}
|
|
};
|
|
exports.NonStandardAuthorizationList = NonStandardAuthorizationList;
|
|
exports.NonStandardAuthorizationList = NonStandardAuthorizationList = NonStandardAuthorizationList_1 = tslib_1.__decorate([
|
|
(0, asn1_schema_1.AsnType)({ type: asn1_schema_1.AsnTypeTypes.Sequence, itemType: NonStandardAuthorization })
|
|
], NonStandardAuthorizationList);
|
|
class NonStandardKeyDescription {
|
|
get keyMintVersion() {
|
|
return this.keymasterVersion;
|
|
}
|
|
set keyMintVersion(value) {
|
|
this.keymasterVersion = value;
|
|
}
|
|
get keyMintSecurityLevel() {
|
|
return this.keymasterSecurityLevel;
|
|
}
|
|
set keyMintSecurityLevel(value) {
|
|
this.keymasterSecurityLevel = value;
|
|
}
|
|
get hardwareEnforced() {
|
|
return this.teeEnforced;
|
|
}
|
|
set hardwareEnforced(value) {
|
|
this.teeEnforced = value;
|
|
}
|
|
constructor(params = {}) {
|
|
this.attestationVersion = key_description_1.Version.KM4;
|
|
this.attestationSecurityLevel = key_description_1.SecurityLevel.software;
|
|
this.keymasterVersion = 0;
|
|
this.keymasterSecurityLevel = key_description_1.SecurityLevel.software;
|
|
this.attestationChallenge = new asn1_schema_1.OctetString();
|
|
this.uniqueId = new asn1_schema_1.OctetString();
|
|
this.softwareEnforced = new NonStandardAuthorizationList();
|
|
this.teeEnforced = new NonStandardAuthorizationList();
|
|
Object.assign(this, params);
|
|
}
|
|
}
|
|
exports.NonStandardKeyDescription = NonStandardKeyDescription;
|
|
tslib_1.__decorate([
|
|
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.Integer })
|
|
], NonStandardKeyDescription.prototype, "attestationVersion", void 0);
|
|
tslib_1.__decorate([
|
|
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.Enumerated })
|
|
], NonStandardKeyDescription.prototype, "attestationSecurityLevel", void 0);
|
|
tslib_1.__decorate([
|
|
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.Integer })
|
|
], NonStandardKeyDescription.prototype, "keymasterVersion", void 0);
|
|
tslib_1.__decorate([
|
|
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.Enumerated })
|
|
], NonStandardKeyDescription.prototype, "keymasterSecurityLevel", void 0);
|
|
tslib_1.__decorate([
|
|
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.OctetString })
|
|
], NonStandardKeyDescription.prototype, "attestationChallenge", void 0);
|
|
tslib_1.__decorate([
|
|
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.OctetString })
|
|
], NonStandardKeyDescription.prototype, "uniqueId", void 0);
|
|
tslib_1.__decorate([
|
|
(0, asn1_schema_1.AsnProp)({ type: NonStandardAuthorizationList })
|
|
], NonStandardKeyDescription.prototype, "softwareEnforced", void 0);
|
|
tslib_1.__decorate([
|
|
(0, asn1_schema_1.AsnProp)({ type: NonStandardAuthorizationList })
|
|
], NonStandardKeyDescription.prototype, "teeEnforced", void 0);
|
|
let NonStandardKeyMintKeyDescription = class NonStandardKeyMintKeyDescription extends NonStandardKeyDescription {
|
|
constructor(params = {}) {
|
|
if ("keymasterVersion" in params && !("keyMintVersion" in params)) {
|
|
params.keyMintVersion = params.keymasterVersion;
|
|
}
|
|
if ("keymasterSecurityLevel" in params && !("keyMintSecurityLevel" in params)) {
|
|
params.keyMintSecurityLevel = params.keymasterSecurityLevel;
|
|
}
|
|
if ("teeEnforced" in params && !("hardwareEnforced" in params)) {
|
|
params.hardwareEnforced = params.teeEnforced;
|
|
}
|
|
super(params);
|
|
}
|
|
};
|
|
exports.NonStandardKeyMintKeyDescription = NonStandardKeyMintKeyDescription;
|
|
exports.NonStandardKeyMintKeyDescription = NonStandardKeyMintKeyDescription = tslib_1.__decorate([
|
|
(0, asn1_schema_1.AsnType)({ type: asn1_schema_1.AsnTypeTypes.Sequence })
|
|
], NonStandardKeyMintKeyDescription);
|