UNPKG

@wildboar/pkcs

Version:
48 lines (47 loc) 1.74 kB
import { ASN1Element as _Element } from "asn1-ts"; import * as $ from "asn1-ts/dist/node/functional"; import { DataObject } from "../PKCS-15/DataObject.ta"; import { ExternalIDO } from "../PKCS-15/ExternalIDO.ta"; import { OidDO } from "../PKCS-15/OidDO.ta"; import { Opaque } from "../PKCS-15/Opaque.ta"; export { DataObject, _get_decoder_for_DataObject, _get_encoder_for_DataObject, } from "../PKCS-15/DataObject.ta"; export { ExternalIDO, _decode_ExternalIDO, _encode_ExternalIDO, } from "../PKCS-15/ExternalIDO.ta"; export { OidDO, _decode_OidDO, _encode_OidDO } from "../PKCS-15/OidDO.ta"; export { Opaque, _decode_Opaque, _encode_Opaque } from "../PKCS-15/Opaque.ta"; /** * @summary DataType * @description * * ### ASN.1 Definition: * * ```asn1 * DataType ::= CHOICE { * opaqueDO DataObject {Opaque}, * externalIDO [0] DataObject {ExternalIDO}, * oidDO [1] DataObject {OidDO}, * ... -- For future extensions * } * ``` */ export declare type DataType = { opaqueDO: DataObject<Opaque>; } | { externalIDO: DataObject<ExternalIDO>; } | { oidDO: DataObject<OidDO>; } | _Element; /** * @summary Decodes an ASN.1 element into a(n) DataType * @function * @param {_Element} el The element being decoded. * @returns {DataType} The decoded data structure. */ export declare function _decode_DataType(el: _Element): DataType; /** * @summary Encodes a(n) DataType 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 DataType, encoded as an ASN.1 Element. */ export declare function _encode_DataType(value: DataType, elGetter: $.ASN1Encoder<DataType>): _Element;