UNPKG

@wildboar/pc

Version:

Trusted Computing Group Platform Certificate ASN.1 data structures in TypeScript

179 lines (178 loc) 6.06 kB
import { OPTIONAL, BOOLEAN, INTEGER, IA5String, ASN1Element as _Element } from "asn1-ts"; import * as $ from "asn1-ts/dist/node/functional"; import { CommonCriteriaMeasures } from "../PlatformCertificateProfile/CommonCriteriaMeasures.ta"; export { CommonCriteriaMeasures, _decode_CommonCriteriaMeasures, _encode_CommonCriteriaMeasures } from "../PlatformCertificateProfile/CommonCriteriaMeasures.ta"; import { FIPSLevel } from "../PlatformCertificateProfile/FIPSLevel.ta"; export { FIPSLevel, _decode_FIPSLevel, _encode_FIPSLevel } from "../PlatformCertificateProfile/FIPSLevel.ta"; import { MeasurementRootType, _enum_for_MeasurementRootType } from "../PlatformCertificateProfile/MeasurementRootType.ta"; export { MeasurementRootType, _enum_for_MeasurementRootType, MeasurementRootType_static_, static_, MeasurementRootType_dynamic, dynamic, MeasurementRootType_nonHost, nonHost, MeasurementRootType_hybrid, hybrid, MeasurementRootType_physical, physical, MeasurementRootType_virtual, virtual, _decode_MeasurementRootType, _encode_MeasurementRootType } from "../PlatformCertificateProfile/MeasurementRootType.ta"; import { Version } from "./Version.ta"; /** * @summary TBBSecurityAssertions * @description * * ### ASN.1 Definition: * * ```asn1 * TBBSecurityAssertions ::= SEQUENCE { * version Version DEFAULT v1, * ccInfo [0] IMPLICIT CommonCriteriaMeasures OPTIONAL, * fipsLevel [1] IMPLICIT FIPSLevel OPTIONAL, * rtmType [2] IMPLICIT MeasurementRootType OPTIONAL, * iso9000Certified BOOLEAN DEFAULT FALSE, * iso9000Uri IA5String (SIZE (1..urimax)) OPTIONAL } * ``` * * @class */ export declare class TBBSecurityAssertions { /** * @summary `version`. * @public * @readonly */ readonly version: OPTIONAL<Version>; /** * @summary `ccInfo`. * @public * @readonly */ readonly ccInfo: OPTIONAL<CommonCriteriaMeasures>; /** * @summary `fipsLevel`. * @public * @readonly */ readonly fipsLevel: OPTIONAL<FIPSLevel>; /** * @summary `rtmType`. * @public * @readonly */ readonly rtmType: OPTIONAL<MeasurementRootType>; /** * @summary `iso9000Certified`. * @public * @readonly */ readonly iso9000Certified: OPTIONAL<BOOLEAN>; /** * @summary `iso9000Uri`. * @public * @readonly */ readonly iso9000Uri: OPTIONAL<IA5String>; constructor( /** * @summary `version`. * @public * @readonly */ version: OPTIONAL<Version>, /** * @summary `ccInfo`. * @public * @readonly */ ccInfo: OPTIONAL<CommonCriteriaMeasures>, /** * @summary `fipsLevel`. * @public * @readonly */ fipsLevel: OPTIONAL<FIPSLevel>, /** * @summary `rtmType`. * @public * @readonly */ rtmType: OPTIONAL<MeasurementRootType>, /** * @summary `iso9000Certified`. * @public * @readonly */ iso9000Certified: OPTIONAL<BOOLEAN>, /** * @summary `iso9000Uri`. * @public * @readonly */ iso9000Uri: OPTIONAL<IA5String>); /** * @summary Restructures an object into a TBBSecurityAssertions * @description * * This takes an `object` and converts it to a `TBBSecurityAssertions`. * * @public * @static * @method * @param {Object} _o An object having all of the keys and values of a `TBBSecurityAssertions`. * @returns {TBBSecurityAssertions} */ static _from_object(_o: { [_K in keyof (TBBSecurityAssertions)]: (TBBSecurityAssertions)[_K]; }): TBBSecurityAssertions; /** * @summary Getter that returns the default value for `version`. * @public * @static * @method */ static get _default_value_for_version(): INTEGER; /** * @summary Getter that returns the default value for `iso9000Certified`. * @public * @static * @method */ static get _default_value_for_iso9000Certified(): boolean; /** * @summary The enum used as the type of the component `rtmType` * @public * @static */ static _enum_for_rtmType: typeof _enum_for_MeasurementRootType; } /** * @summary The Leading Root Component Types of TBBSecurityAssertions * @description * * This is an array of `ComponentSpec`s that define how to decode the leading root component type list of a SET or SEQUENCE. * * @constant */ export declare const _root_component_type_list_1_spec_for_TBBSecurityAssertions: $.ComponentSpec[]; /** * @summary The Trailing Root Component Types of TBBSecurityAssertions * @description * * This is an array of `ComponentSpec`s that define how to decode the trailing root component type list of a SET or SEQUENCE. * * @constant */ export declare const _root_component_type_list_2_spec_for_TBBSecurityAssertions: $.ComponentSpec[]; /** * @summary The Extension Addition Component Types of TBBSecurityAssertions * @description * * This is an array of `ComponentSpec`s that define how to decode the extension addition component type list of a SET or SEQUENCE. * * @constant */ export declare const _extension_additions_list_spec_for_TBBSecurityAssertions: $.ComponentSpec[]; /** * @summary Decodes an ASN.1 element into a(n) TBBSecurityAssertions * @function * @param {_Element} el The element being decoded. * @returns {TBBSecurityAssertions} The decoded data structure. */ export declare function _decode_TBBSecurityAssertions(el: _Element): TBBSecurityAssertions; /** * @summary Encodes a(n) TBBSecurityAssertions into an ASN.1 Element. * @function * @param {value} el The element being decoded. * @param elGetter A function that can be used to get new ASN.1 elements. * @returns {_Element} The TBBSecurityAssertions, encoded as an ASN.1 Element. */ export declare function _encode_TBBSecurityAssertions(value: TBBSecurityAssertions, elGetter: $.ASN1Encoder<TBBSecurityAssertions>): _Element;