import { ASN1Element as _Element, OBJECT_IDENTIFIER, OPTIONAL } from "@wildboar/asn1"; import * as $ from "@wildboar/asn1/functional"; import { AlgorithmIdentifier } from "@wildboar/pki-stub"; import { AlgorithmWithInvoke } from "@wildboar/pki-stub"; import { AssoID } from "../Wrapper/AssoID.ta.mjs"; import { DER_AttributeCertificate } from "../Wrapper/DER-AttributeCertificate.ta.mjs"; import { DER_PkiPath } from "../Wrapper/DER-PkiPath.ta.mjs"; import { TbsHandshakeReq_encr_mode } from "../Wrapper/TbsHandshakeReq-encr-mode.ta.mjs"; import { TimeStamp } from "../Wrapper/TimeStamp.ta.mjs"; import { Version } from "../Wrapper/Version.ta.mjs"; import { WrappedProt } from "../Wrapper/WrappedProt.ta.mjs"; /** * @summary TbsHandshakeReq * @description * * ### ASN.1 Definition: * * ```asn1 * TbsHandshakeReq ::= SEQUENCE { * version Version DEFAULT {v1}, * prProt WRAPPED-PROT.&id ({SupportedProtSet}), * sigAlg AlgorithmIdentifier {{SupportedSignatureAlgorithms}}, * altSigAlg [0] AlgorithmIdentifier {{SupportedAltSignatureAlgorithms}} OPTIONAL, * pkiPath DER-PkiPath, * assoID AssoID, * time TimeStamp, * keyEst AlgorithmWithInvoke{{SupportedKeyEstablishmentAlgos}}, * altKeyEst [1] AlgorithmWithInvoke{{SupportedAltKeyEstablishmentAlgos}} OPTIONAL, * encr-mode CHOICE { * aead [2] SEQUENCE SIZE (1..MAX) OF * algo AlgorithmIdentifier{{SupportedAeadAlgorithms}}, * non-aead [3] SEQUENCE { * encr [0] SEQUENCE SIZE (1..MAX) OF * algo AlgorithmIdentifier{{SupportedSymmetricKeyAlgorithms}} * OPTIONAL, * icvAlgID [1] SEQUENCE SIZE (1..MAX) OF * algo AlgorithmIdentifier{{SupportedIcvAlgorithms}} }, * ... }, * attCert DER-AttributeCertificate OPTIONAL, * applData [4] WrappedProt{{SupportedProtSet}} OPTIONAL, * ... } * ``` * */ export declare class TbsHandshakeReq { /** * @summary `version`. * @public * @readonly */ readonly version: OPTIONAL; /** * @summary `prProt`. * @public * @readonly */ readonly prProt: OBJECT_IDENTIFIER; /** * @summary `sigAlg`. * @public * @readonly */ readonly sigAlg: AlgorithmIdentifier; /** * @summary `altSigAlg`. * @public * @readonly */ readonly altSigAlg: OPTIONAL; /** * @summary `pkiPath`. * @public * @readonly */ readonly pkiPath: DER_PkiPath; /** * @summary `assoID`. * @public * @readonly */ readonly assoID: AssoID; /** * @summary `time`. * @public * @readonly */ readonly time: TimeStamp; /** * @summary `keyEst`. * @public * @readonly */ readonly keyEst: AlgorithmWithInvoke; /** * @summary `altKeyEst`. * @public * @readonly */ readonly altKeyEst: OPTIONAL; /** * @summary `encr_mode`. * @public * @readonly */ readonly encr_mode: TbsHandshakeReq_encr_mode; /** * @summary `attCert`. * @public * @readonly */ readonly attCert?: OPTIONAL; /** * @summary `applData`. * @public * @readonly */ readonly applData?: OPTIONAL; /** * @summary Extensions that are not recognized. * @public * @readonly */ readonly _unrecognizedExtensionsList: _Element[]; constructor( /** * @summary `version`. * @public * @readonly */ version: OPTIONAL, /** * @summary `prProt`. * @public * @readonly */ prProt: OBJECT_IDENTIFIER, /** * @summary `sigAlg`. * @public * @readonly */ sigAlg: AlgorithmIdentifier, /** * @summary `altSigAlg`. * @public * @readonly */ altSigAlg: OPTIONAL, /** * @summary `pkiPath`. * @public * @readonly */ pkiPath: DER_PkiPath, /** * @summary `assoID`. * @public * @readonly */ assoID: AssoID, /** * @summary `time`. * @public * @readonly */ time: TimeStamp, /** * @summary `keyEst`. * @public * @readonly */ keyEst: AlgorithmWithInvoke, /** * @summary `altKeyEst`. * @public * @readonly */ altKeyEst: OPTIONAL, /** * @summary `encr_mode`. * @public * @readonly */ encr_mode: TbsHandshakeReq_encr_mode, /** * @summary `attCert`. * @public * @readonly */ attCert?: OPTIONAL, /** * @summary `applData`. * @public * @readonly */ applData?: OPTIONAL, /** * @summary Extensions that are not recognized. * @public * @readonly */ _unrecognizedExtensionsList?: _Element[]); /** * @summary Restructures an object into a TbsHandshakeReq * @description * * This takes an `object` and converts it to a `TbsHandshakeReq`. * * @public * @static * @method * @param {Object} _o An object having all of the keys and values of a `TbsHandshakeReq`. * @returns {TbsHandshakeReq} */ static _from_object(_o: { [_K in keyof TbsHandshakeReq]: TbsHandshakeReq[_K]; }): TbsHandshakeReq; /** * @summary Getter that returns the default value for `version`. * @public * @static * @method */ static get _default_value_for_version(): Version; } /** * @summary The Leading Root Component Types of TbsHandshakeReq * @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_TbsHandshakeReq: $.ComponentSpec[]; /** * @summary The Trailing Root Component Types of TbsHandshakeReq * @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_TbsHandshakeReq: $.ComponentSpec[]; /** * @summary The Extension Addition Component Types of TbsHandshakeReq * @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_TbsHandshakeReq: $.ComponentSpec[]; /** * @summary Decodes an ASN.1 element into a(n) TbsHandshakeReq * @function * @param {_Element} el The element being decoded. * @returns {TbsHandshakeReq} The decoded data structure. */ export declare function _decode_TbsHandshakeReq(el: _Element): TbsHandshakeReq; /** * @summary Encodes a(n) TbsHandshakeReq into an ASN.1 Element. * @function * @param value The element being encoded. * @param elGetter A function that can be used to get new ASN.1 elements. * @returns {_Element} The TbsHandshakeReq, encoded as an ASN.1 Element. */ export declare function _encode_TbsHandshakeReq(value: TbsHandshakeReq, elGetter: $.ASN1Encoder): _Element; //# sourceMappingURL=TbsHandshakeReq.ta.d.mts.map