101 lines
3.9 KiB
JavaScript
101 lines
3.9 KiB
JavaScript
var NonStandardAuthorizationList_1;
|
|
import { __decorate } from "tslib";
|
|
import { AsnProp, AsnPropTypes, AsnArray, AsnType, AsnTypeTypes, OctetString, } from "@peculiar/asn1-schema";
|
|
import { AuthorizationList, SecurityLevel, Version } from "./key_description";
|
|
let NonStandardAuthorization = class NonStandardAuthorization extends AuthorizationList {
|
|
};
|
|
NonStandardAuthorization = __decorate([
|
|
AsnType({ type: AsnTypeTypes.Choice })
|
|
], NonStandardAuthorization);
|
|
export { NonStandardAuthorization };
|
|
let NonStandardAuthorizationList = NonStandardAuthorizationList_1 = class NonStandardAuthorizationList extends 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;
|
|
}
|
|
};
|
|
NonStandardAuthorizationList = NonStandardAuthorizationList_1 = __decorate([
|
|
AsnType({ type: AsnTypeTypes.Sequence, itemType: NonStandardAuthorization })
|
|
], NonStandardAuthorizationList);
|
|
export { NonStandardAuthorizationList };
|
|
export 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 = Version.KM4;
|
|
this.attestationSecurityLevel = SecurityLevel.software;
|
|
this.keymasterVersion = 0;
|
|
this.keymasterSecurityLevel = SecurityLevel.software;
|
|
this.attestationChallenge = new OctetString();
|
|
this.uniqueId = new OctetString();
|
|
this.softwareEnforced = new NonStandardAuthorizationList();
|
|
this.teeEnforced = new NonStandardAuthorizationList();
|
|
Object.assign(this, params);
|
|
}
|
|
}
|
|
__decorate([
|
|
AsnProp({ type: AsnPropTypes.Integer })
|
|
], NonStandardKeyDescription.prototype, "attestationVersion", void 0);
|
|
__decorate([
|
|
AsnProp({ type: AsnPropTypes.Enumerated })
|
|
], NonStandardKeyDescription.prototype, "attestationSecurityLevel", void 0);
|
|
__decorate([
|
|
AsnProp({ type: AsnPropTypes.Integer })
|
|
], NonStandardKeyDescription.prototype, "keymasterVersion", void 0);
|
|
__decorate([
|
|
AsnProp({ type: AsnPropTypes.Enumerated })
|
|
], NonStandardKeyDescription.prototype, "keymasterSecurityLevel", void 0);
|
|
__decorate([
|
|
AsnProp({ type: OctetString })
|
|
], NonStandardKeyDescription.prototype, "attestationChallenge", void 0);
|
|
__decorate([
|
|
AsnProp({ type: OctetString })
|
|
], NonStandardKeyDescription.prototype, "uniqueId", void 0);
|
|
__decorate([
|
|
AsnProp({ type: NonStandardAuthorizationList })
|
|
], NonStandardKeyDescription.prototype, "softwareEnforced", void 0);
|
|
__decorate([
|
|
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);
|
|
}
|
|
};
|
|
NonStandardKeyMintKeyDescription = __decorate([
|
|
AsnType({ type: AsnTypeTypes.Sequence })
|
|
], NonStandardKeyMintKeyDescription);
|
|
export { NonStandardKeyMintKeyDescription };
|