UNPKG

@wildboar/pkcs

Version:
116 lines (115 loc) 3.94 kB
import { ASN1Element as _Element, OBJECT_IDENTIFIER, OCTET_STRING, OPTIONAL } from "asn1-ts"; import * as $ from "asn1-ts/dist/node/functional"; import { AlgorithmIdentifier } from "@wildboar/x500/src/lib/modules/AuthenticationFramework/AlgorithmIdentifier.ta"; /** * @summary EncryptedContentInfo * @description * * ### ASN.1 Definition: * * ```asn1 * EncryptedContentInfo {Type} ::= SEQUENCE { * contentType OBJECT IDENTIFIER, * contentEncryptionAlgorithm AlgorithmIdentifier{{ContentEncryptionAlgorithms}}, * encryptedContent [0] OCTET STRING OPTIONAL * }(CONSTRAINED BY { * -- 'encryptedContent' shall be the result of encrypting DER-encoded * -- value of type -- Type}) * ``` * * @class */ export declare class EncryptedContentInfo<Type> { /** * @summary `contentType`. * @public * @readonly */ readonly contentType: OBJECT_IDENTIFIER; /** * @summary `contentEncryptionAlgorithm`. * @public * @readonly */ readonly contentEncryptionAlgorithm: AlgorithmIdentifier; /** * @summary `encryptedContent`. * @public * @readonly */ readonly encryptedContent: OPTIONAL<OCTET_STRING>; constructor( /** * @summary `contentType`. * @public * @readonly */ contentType: OBJECT_IDENTIFIER, /** * @summary `contentEncryptionAlgorithm`. * @public * @readonly */ contentEncryptionAlgorithm: AlgorithmIdentifier, /** * @summary `encryptedContent`. * @public * @readonly */ encryptedContent: OPTIONAL<OCTET_STRING>); /** * @summary Restructures an object into a EncryptedContentInfo * @description * * This takes an `object` and converts it to a `EncryptedContentInfo`. * * @public * @static * @method * @param {Object} _o An object having all of the keys and values of a `EncryptedContentInfo`. * @returns {EncryptedContentInfo} */ static _from_object(_o: { [_K in keyof EncryptedContentInfo<any>]: EncryptedContentInfo<any>[_K]; }): EncryptedContentInfo<any>; } /** * @summary The Leading Root Component Types of EncryptedContentInfo * @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_EncryptedContentInfo: $.ComponentSpec[]; /** * @summary The Trailing Root Component Types of EncryptedContentInfo * @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_EncryptedContentInfo: $.ComponentSpec[]; /** * @summary The Extension Addition Component Types of EncryptedContentInfo * @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_EncryptedContentInfo: $.ComponentSpec[]; /** * @summary Returns a function that will decode an ASN.1 element into a(n) EncryptedContentInfo * @function * @param {_Element} el The element being decoded. * @returns A function that will decode an ASN.1 element. */ export declare function _get_decoder_for_EncryptedContentInfo<Type>(_decode_Type: $.ASN1Decoder<Type>): (el: _Element) => EncryptedContentInfo<Type>; /** * @summary Returns a function that will encode a(n) EncryptedContentInfo into an ASN.1 Element. * @function * @returns A function that will encode a(n) EncryptedContentInfo as an ASN.1 element. */ export declare function _get_encoder_for_EncryptedContentInfo<Type>(_encode_Type: $.ASN1Encoder<Type>): (value: EncryptedContentInfo<Type>, elGetter: $.ASN1Encoder<EncryptedContentInfo<Type>>) => _Element;