| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366 |
- /*!
- * Copyright (c) 2014, GMO GlobalSign
- * Copyright (c) 2015-2022, Peculiar Ventures
- * All rights reserved.
- *
- * Author 2014-2019, Yury Strozhevsky
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * * Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright notice, this
- * list of conditions and the following disclaimer in the documentation and/or
- * other materials provided with the distribution.
- *
- * * Neither the name of the copyright holder nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
- import * as pvtsutils from 'pvtsutils';
- interface IBerConvertible {
- /**
- * Base function for converting block from BER encoded array of bytes
- * @param inputBuffer ASN.1 BER encoded array
- * @param inputOffset Offset in ASN.1 BER encoded array where decoding should be started
- * @param inputLength Maximum length of array of bytes which can be using in this function
- * @returns Offset after least decoded byte
- */
- fromBER(inputBuffer: ArrayBuffer | Uint8Array, inputOffset: number, inputLength: number): number;
- /**
- * Encoding of current ASN.1 block into ASN.1 encoded array (BER rules)
- * @param sizeOnly Flag that we need only a size of encoding, not a real array of bytes
- * @returns ASN.1 BER encoded array
- */
- toBER(sizeOnly?: boolean): ArrayBuffer;
- }
- interface IDerConvertible {
- /**
- * Base function for converting block from DER encoded array of bytes
- * @param inputBuffer ASN.1 DER encoded array
- * @param inputOffset Offset in ASN.1 DER encoded array where decoding should be started
- * @param inputLength Maximum length of array of bytes which can be using in this function
- * @param expectedLength Expected length of converted VALUE_HEX buffer
- * @returns Offset after least decoded byte
- */
- fromDER(inputBuffer: ArrayBuffer, inputOffset: number, inputLength: number, expectedLength?: number): number;
- /**
- * Encoding of current ASN.1 block into ASN.1 encoded array (DER rules)
- * @param sizeOnly Flag that we need only a size of encoding, not a real array of bytes
- * @returns ASN.1 DER encoded array
- */
- toDER(sizeOnly?: boolean): ArrayBuffer;
- }
- interface IStringConvertible {
- /**
- * Returns a string representation of an object
- * @returns String representation of the class object
- */
- toString(): string;
- /**
- * Creates a class object from the string
- * @param data Input string to convert from
- */
- fromString(data: string): void;
- }
- interface IDateConvertible {
- /**
- * Converts a class object into the JavaScrip Date Object
- * @returns Date object
- */
- toDate(): Date;
- /**
- * Creates a class object from the JavaScript Date object
- * @param date Date object
- */
- fromDate(date: Date): void;
- }
- declare class ViewWriter {
- items: ArrayBuffer[];
- /**
- * Writes buffer
- * @param buf
- */
- write(buf: ArrayBuffer): void;
- /**
- * Concatenates all buffers
- * @returns Concatenated buffer
- */
- final(): ArrayBuffer;
- }
- interface ILocalBaseBlock {
- blockLength: number;
- error: string;
- warnings: string[];
- }
- interface LocalBaseBlockJson extends ILocalBaseBlock {
- blockName: string;
- valueBeforeDecode: string;
- }
- interface LocalBaseBlockParams extends Partial<ILocalBaseBlock> {
- valueBeforeDecode?: pvtsutils.BufferSource;
- }
- interface LocalBaseBlockConstructor<T extends LocalBaseBlock = LocalBaseBlock> {
- new (...args: any[]): T;
- prototype: T;
- NAME: string;
- blockName(): string;
- }
- /**
- * Class used as a base block for all remaining ASN.1 classes
- */
- declare class LocalBaseBlock implements ILocalBaseBlock {
- /**
- * Name of the block
- */
- static NAME: string;
- /**
- * Aux function, need to get a block name. Need to have it here for inheritance
- * @returns Returns name of the block
- */
- static blockName(): string;
- blockLength: number;
- error: string;
- warnings: string[];
- /**
- * @deprecated since version 3.0.0
- */
- get valueBeforeDecode(): ArrayBuffer;
- /**
- * @deprecated since version 3.0.0
- */
- set valueBeforeDecode(value: ArrayBuffer);
- /**
- * @since 3.0.0
- */
- valueBeforeDecodeView: Uint8Array;
- /**
- * Creates and initializes an object instance of that class
- * @param param0 Initialization parameters
- */
- constructor({ blockLength, error, warnings, valueBeforeDecode, }?: LocalBaseBlockParams);
- /**
- * Returns a JSON representation of an object
- * @returns JSON object
- */
- toJSON(): LocalBaseBlockJson;
- }
- interface IHexBlock {
- isHexOnly: boolean;
- valueHex: pvtsutils.BufferSource;
- }
- interface HexBlockJson extends Omit<IHexBlock, "valueHex"> {
- valueHex: string;
- }
- type HexBlockParams = Partial<IHexBlock>;
- /**
- * Class used as a base block for all remaining ASN.1 classes
- */
- declare function HexBlock<T extends LocalBaseBlockConstructor>(BaseClass: T): {
- new (...args: any[]): {
- isHexOnly: boolean;
- /**
- * Binary data in ArrayBuffer representation
- *
- * @deprecated since version 3.0.0
- */
- valueHex: ArrayBuffer;
- /**
- * Binary data in Uint8Array representation
- *
- * @since 3.0.0
- */
- valueHexView: Uint8Array;
- fromBER(inputBuffer: ArrayBuffer | Uint8Array, inputOffset: number, inputLength: number, _context?: unknown): number;
- toBER(sizeOnly?: boolean): ArrayBuffer;
- /**
- * Returns a JSON representation of an object
- * @returns JSON object
- */
- toJSON(): {
- isHexOnly: boolean;
- valueHex: string;
- blockName: string;
- valueBeforeDecode: string;
- blockLength: number;
- error: string;
- warnings: string[];
- };
- blockLength: number;
- error: string;
- warnings: string[];
- valueBeforeDecode: ArrayBuffer;
- valueBeforeDecodeView: Uint8Array;
- };
- NAME: string;
- blockName(): string;
- } & T;
- type IValueBlock = ILocalBaseBlock;
- type ValueBlockParams = LocalBaseBlockParams;
- type ValueBlockJson = LocalBaseBlockJson;
- declare class ValueBlock extends LocalBaseBlock implements IValueBlock, IBerConvertible {
- static NAME: string;
- fromBER(_inputBuffer: ArrayBuffer | Uint8Array, _inputOffset: number, _inputLength: number, _context?: unknown): number;
- toBER(_sizeOnly?: boolean, _writer?: ViewWriter): ArrayBuffer;
- }
- interface ILocalIdentificationBlock {
- tagClass: number;
- tagNumber: number;
- isConstructed: boolean;
- }
- interface LocalIdentificationBlockParams {
- idBlock?: Partial<ILocalIdentificationBlock> & HexBlockParams;
- }
- interface LocalIdentificationBlockJson extends HexBlockJson, LocalBaseBlockJson, ILocalIdentificationBlock {
- }
- declare const LocalIdentificationBlock_base: {
- new (...args: any[]): {
- isHexOnly: boolean;
- valueHex: ArrayBuffer;
- valueHexView: Uint8Array;
- fromBER(inputBuffer: ArrayBuffer | Uint8Array, inputOffset: number, inputLength: number, _context?: unknown): number;
- toBER(sizeOnly?: boolean): ArrayBuffer;
- toJSON(): {
- isHexOnly: boolean;
- valueHex: string;
- blockName: string;
- valueBeforeDecode: string;
- blockLength: number;
- error: string;
- warnings: string[];
- };
- blockLength: number;
- error: string;
- warnings: string[];
- valueBeforeDecode: ArrayBuffer;
- valueBeforeDecodeView: Uint8Array;
- };
- NAME: string;
- blockName(): string;
- } & typeof LocalBaseBlock;
- declare class LocalIdentificationBlock extends LocalIdentificationBlock_base implements ILocalIdentificationBlock {
- static NAME: string;
- tagClass: number;
- tagNumber: number;
- isConstructed: boolean;
- constructor({ idBlock }?: LocalIdentificationBlockParams);
- toBER(sizeOnly?: boolean): ArrayBuffer;
- fromBER(inputBuffer: ArrayBuffer | Uint8Array, inputOffset: number, inputLength: number): number;
- toJSON(): LocalIdentificationBlockJson;
- }
- interface LocalIdentificationBlock {
- /**
- * @deprecated since version 3.0.0
- */
- valueBeforeDecode: ArrayBuffer;
- /**
- * Binary data in ArrayBuffer representation
- *
- * @deprecated since version 3.0.0
- */
- valueHex: ArrayBuffer;
- }
- interface ILocalLengthBlock {
- isIndefiniteForm: boolean;
- longFormUsed: boolean;
- length: number;
- }
- interface LocalLengthBlockParams {
- lenBlock?: Partial<ILocalLengthBlock>;
- }
- interface LocalLengthBlockJson extends LocalBaseBlockJson, ILocalLengthBlock {
- isIndefiniteForm: boolean;
- longFormUsed: boolean;
- length: number;
- }
- declare class LocalLengthBlock extends LocalBaseBlock implements ILocalLengthBlock, IBerConvertible {
- static NAME: string;
- isIndefiniteForm: boolean;
- longFormUsed: boolean;
- length: number;
- constructor({ lenBlock }?: LocalLengthBlockParams);
- fromBER(inputBuffer: ArrayBuffer | Uint8Array, inputOffset: number, inputLength: number): number;
- toBER(sizeOnly?: boolean): ArrayBuffer;
- toJSON(): LocalLengthBlockJson;
- }
- interface IAny {
- name: string;
- optional: boolean;
- }
- type AnyParams = Partial<IAny>;
- declare class Any implements IAny {
- name: string;
- optional: boolean;
- constructor({ name, optional }?: AnyParams);
- }
- type ConstructedItem = BaseBlock | Any;
- interface ILocalConstructedValueBlock {
- value: ConstructedItem[];
- isIndefiniteForm: boolean;
- }
- interface LocalConstructedValueBlockParams extends ValueBlockParams, Partial<ILocalConstructedValueBlock> {
- }
- interface LocalConstructedValueBlockJson extends LocalBaseBlockJson, Omit<ILocalConstructedValueBlock, "value"> {
- value: LocalBaseBlockJson[];
- }
- declare class LocalConstructedValueBlock extends ValueBlock implements ILocalConstructedValueBlock {
- static NAME: string;
- value: BaseBlock[];
- isIndefiniteForm: boolean;
- constructor({ value, isIndefiniteForm, ...parameters }?: LocalConstructedValueBlockParams);
- fromBER(inputBuffer: ArrayBuffer | Uint8Array, inputOffset: number, inputLength: number, context?: FromBerContext): number;
- toBER(sizeOnly?: boolean, writer?: ViewWriter): ArrayBuffer;
- toJSON(): LocalConstructedValueBlockJson;
- }
- interface ILocalBitStringValueBlock {
- unusedBits: number;
- isConstructed: boolean;
- }
- interface LocalBitStringValueBlockParams extends HexBlockParams, LocalConstructedValueBlockParams, Partial<ILocalBitStringValueBlock> {
- value?: BitString[];
- }
- interface LocalBitStringValueBlockJson extends HexBlockJson, LocalConstructedValueBlockJson, ILocalBitStringValueBlock {
- }
- declare const LocalBitStringValueBlock_base: {
- new (...args: any[]): {
- isHexOnly: boolean;
- valueHex: ArrayBuffer;
- valueHexView: Uint8Array;
- fromBER(inputBuffer: ArrayBuffer | Uint8Array, inputOffset: number, inputLength: number, _context?: unknown): number;
- toBER(sizeOnly?: boolean): ArrayBuffer;
- toJSON(): {
- isHexOnly: boolean;
- valueHex: string;
- blockName: string;
- valueBeforeDecode: string;
- blockLength: number;
- error: string;
- warnings: string[];
- };
- blockLength: number;
- error: string;
- warnings: string[];
- valueBeforeDecode: ArrayBuffer;
- valueBeforeDecodeView: Uint8Array;
- };
- NAME: string;
- blockName(): string;
- } & typeof LocalConstructedValueBlock;
- declare class LocalBitStringValueBlock extends LocalBitStringValueBlock_base implements ILocalBitStringValueBlock {
- static NAME: string;
- unusedBits: number;
- isConstructed: boolean;
- constructor({ unusedBits, isConstructed, ...parameters }?: LocalBitStringValueBlockParams);
- fromBER(inputBuffer: ArrayBuffer | Uint8Array, inputOffset: number, inputLength: number, context?: FromBerContext): number;
- toBER(sizeOnly?: boolean, writer?: ViewWriter): ArrayBuffer;
- toJSON(): LocalBitStringValueBlockJson;
- }
- interface LocalBitStringValueBlock {
- /**
- * @deprecated since version 3.0.0
- */
- valueBeforeDecode: ArrayBuffer;
- /**
- * Binary data in ArrayBuffer representation
- *
- * @deprecated since version 3.0.0
- */
- valueHex: ArrayBuffer;
- }
- interface BitStringParams extends BaseBlockParams, LocalBitStringValueBlockParams {
- }
- type BitStringJson = BaseBlockJson<LocalBitStringValueBlockJson>;
- declare class BitString extends BaseBlock<LocalBitStringValueBlock, LocalBitStringValueBlockJson> {
- static NAME: string;
- constructor({ idBlock, lenBlock, ...parameters }?: BitStringParams);
- fromBER(inputBuffer: ArrayBuffer | Uint8Array, inputOffset: number, inputLength: number, context?: FromBerContext): number;
- protected onAsciiEncoding(): string;
- }
- type LocalUtf8StringValueBlockParams = LocalSimpleStringBlockParams;
- type LocalUtf8StringValueBlockJson = LocalSimpleStringBlockJson;
- declare class LocalUtf8StringValueBlock extends LocalSimpleStringBlock {
- static NAME: string;
- fromBuffer(inputBuffer: ArrayBuffer | Uint8Array): void;
- fromString(inputString: string): void;
- }
- interface ILocalStringValueBlock {
- value: string;
- }
- interface LocalStringValueBlockParams extends Omit<HexBlockParams, "isHexOnly">, ValueBlockParams, Partial<ILocalStringValueBlock> {
- }
- interface LocalStringValueBlockJson extends HexBlockJson, ValueBlockJson, ILocalStringValueBlock {
- }
- declare const LocalStringValueBlock_base: {
- new (...args: any[]): {
- isHexOnly: boolean;
- valueHex: ArrayBuffer;
- valueHexView: Uint8Array;
- fromBER(inputBuffer: ArrayBuffer | Uint8Array, inputOffset: number, inputLength: number, _context?: unknown): number;
- toBER(sizeOnly?: boolean): ArrayBuffer;
- toJSON(): {
- isHexOnly: boolean;
- valueHex: string;
- blockName: string;
- valueBeforeDecode: string;
- blockLength: number;
- error: string;
- warnings: string[];
- };
- blockLength: number;
- error: string;
- warnings: string[];
- valueBeforeDecode: ArrayBuffer;
- valueBeforeDecodeView: Uint8Array;
- };
- NAME: string;
- blockName(): string;
- } & typeof ValueBlock;
- declare abstract class LocalStringValueBlock extends LocalStringValueBlock_base implements ILocalStringValueBlock {
- static NAME: string;
- value: string;
- constructor({ ...parameters }?: LocalUtf8StringValueBlockParams);
- toJSON(): LocalUtf8StringValueBlockJson;
- }
- interface LocalStringValueBlock {
- /**
- * @deprecated since version 3.0.0
- */
- valueBeforeDecode: ArrayBuffer;
- /**
- * Binary data in ArrayBuffer representation
- *
- * @deprecated since version 3.0.0
- */
- valueHex: ArrayBuffer;
- }
- interface BaseStringBlockParams extends BaseBlockParams, LocalStringValueBlockParams {
- }
- type BaseStringBlockJson = LocalStringValueBlockJson;
- declare abstract class BaseStringBlock<T extends LocalStringValueBlock = LocalStringValueBlock, J extends BaseStringBlockJson = BaseStringBlockJson> extends BaseBlock<T, J> implements IStringConvertible {
- static NAME: string;
- /**
- * String value
- * @since 3.0.0
- */
- getValue(): string;
- /**
- * String value
- * @param value String value
- * @since 3.0.0
- */
- setValue(value: string): void;
- constructor({ value, ...parameters }: BaseStringBlockParams | undefined, stringValueBlockType: new () => T);
- fromBER(inputBuffer: ArrayBuffer | Uint8Array, inputOffset: number, inputLength: number): number;
- /**
- * Function converting ArrayBuffer into ASN.1 internal string
- * @param inputBuffer ASN.1 BER encoded array
- */
- abstract fromBuffer(inputBuffer: ArrayBuffer | Uint8Array): void;
- abstract fromString(inputString: string): void;
- protected onAsciiEncoding(): string;
- }
- type LocalSimpleStringValueBlockParams = LocalStringValueBlockParams;
- type LocalSimpleStringValueBlockJson = LocalStringValueBlockJson;
- declare class LocalSimpleStringValueBlock extends LocalStringValueBlock {
- static NAME: string;
- }
- interface LocalSimpleStringBlockParams extends BaseBlockParams, LocalSimpleStringValueBlockParams {
- }
- type LocalSimpleStringBlockJson = LocalSimpleStringValueBlockJson;
- declare class LocalSimpleStringBlock extends BaseStringBlock<LocalSimpleStringValueBlock, LocalSimpleStringValueBlockJson> {
- static NAME: string;
- constructor({ ...parameters }?: LocalSimpleStringBlockParams);
- fromBuffer(inputBuffer: ArrayBuffer | Uint8Array): void;
- fromString(inputString: string): void;
- }
- type LocalBmpStringValueBlockParams = LocalSimpleStringBlockParams;
- type LocalBmpStringValueBlockJson = LocalSimpleStringBlockJson;
- declare class LocalBmpStringValueBlock extends LocalSimpleStringBlock {
- static NAME: string;
- fromBuffer(inputBuffer: ArrayBuffer | Uint8Array): void;
- fromString(inputString: string): void;
- }
- type BmpStringParams = LocalBmpStringValueBlockParams;
- type BmpStringJson = LocalBmpStringValueBlockJson;
- declare class BmpString extends LocalBmpStringValueBlock {
- static NAME: string;
- constructor({ ...parameters }?: BmpStringParams);
- }
- interface ILocalBooleanValueBlock {
- value: boolean;
- }
- interface LocalBooleanValueBlockParams extends ValueBlockParams, HexBlockParams, Partial<ILocalBooleanValueBlock> {
- }
- interface LocalBooleanValueBlockJson extends ValueBlockJson, HexBlockJson, ILocalBooleanValueBlock {
- }
- declare const LocalBooleanValueBlock_base: {
- new (...args: any[]): {
- isHexOnly: boolean;
- valueHex: ArrayBuffer;
- valueHexView: Uint8Array;
- fromBER(inputBuffer: ArrayBuffer | Uint8Array, inputOffset: number, inputLength: number, _context?: unknown): number;
- toBER(sizeOnly?: boolean): ArrayBuffer;
- toJSON(): {
- isHexOnly: boolean;
- valueHex: string;
- blockName: string;
- valueBeforeDecode: string;
- blockLength: number;
- error: string;
- warnings: string[];
- };
- blockLength: number;
- error: string;
- warnings: string[];
- valueBeforeDecode: ArrayBuffer;
- valueBeforeDecodeView: Uint8Array;
- };
- NAME: string;
- blockName(): string;
- } & typeof ValueBlock;
- declare class LocalBooleanValueBlock extends LocalBooleanValueBlock_base implements ILocalBooleanValueBlock {
- static NAME: string;
- get value(): boolean;
- set value(value: boolean);
- constructor({ value, ...parameters }?: LocalBooleanValueBlockParams);
- fromBER(inputBuffer: ArrayBuffer | Uint8Array, inputOffset: number, inputLength: number): number;
- toBER(): ArrayBuffer;
- toJSON(): LocalBooleanValueBlockJson;
- }
- interface LocalBooleanValueBlock {
- /**
- * @deprecated since version 3.0.0
- */
- valueBeforeDecode: ArrayBuffer;
- /**
- * Binary data in ArrayBuffer representation
- *
- * @deprecated since version 3.0.0
- */
- valueHex: ArrayBuffer;
- }
- interface BooleanParams extends BaseBlockParams, LocalBooleanValueBlockParams {
- }
- type BooleanJson = BaseBlockJson<LocalBooleanValueBlockJson>;
- declare class Boolean extends BaseBlock<LocalBooleanValueBlock, LocalBooleanValueBlockJson> {
- /**
- * Gets value
- * @since 3.0.0
- */
- getValue(): boolean;
- /**
- * Sets value
- * @param value Boolean value
- * @since 3.0.0
- */
- setValue(value: boolean): void;
- static NAME: string;
- constructor(parameters?: BooleanParams);
- protected onAsciiEncoding(): string;
- }
- type CharacterStringParams = LocalSimpleStringBlockParams;
- type CharacterStringJson = LocalSimpleStringBlockJson;
- declare class CharacterString extends LocalSimpleStringBlock {
- static NAME: string;
- constructor(parameters?: CharacterStringParams);
- }
- interface ConstructedParams extends BaseBlockParams, LocalConstructedValueBlockParams {
- }
- type ConstructedJson = BaseBlockJson<LocalConstructedValueBlockJson>;
- declare class Constructed extends BaseBlock<LocalConstructedValueBlock, LocalConstructedValueBlockJson> {
- static NAME: string;
- constructor(parameters?: ConstructedParams);
- fromBER(inputBuffer: ArrayBuffer | Uint8Array, inputOffset: number, inputLength: number, context?: FromBerContext): number;
- }
- interface Utf8StringParams extends BaseStringBlockParams, LocalUtf8StringValueBlockParams {
- }
- type Utf8StringJson = BaseBlockJson<LocalUtf8StringValueBlockJson>;
- declare class Utf8String extends LocalUtf8StringValueBlock {
- static NAME: string;
- constructor(parameters?: Utf8StringParams);
- }
- type DATEParams = Utf8StringParams;
- type DATEJson = Utf8StringJson;
- declare class DATE extends Utf8String {
- static NAME: string;
- constructor(parameters?: DATEParams);
- }
- type DateTimeParams = Utf8StringParams;
- type DateTimeJson = Utf8StringJson;
- declare class DateTime extends Utf8String {
- static NAME: string;
- constructor(parameters?: DateTimeParams);
- }
- type DurationParams = Utf8StringParams;
- type DurationJson = Utf8StringJson;
- declare class Duration extends Utf8String {
- static NAME: string;
- constructor(parameters?: DurationParams);
- }
- declare class LocalEndOfContentValueBlock extends ValueBlock {
- static override: string;
- fromBER(inputBuffer: ArrayBuffer | Uint8Array, inputOffset: number, _inputLength: number): number;
- toBER(_sizeOnly?: boolean): ArrayBuffer;
- }
- type EndOfContentParams = BaseBlockParams;
- type EndOfContentJson = BaseBlockJson;
- declare class EndOfContent extends BaseBlock<LocalEndOfContentValueBlock> {
- static NAME: string;
- constructor(parameters?: EndOfContentParams);
- }
- interface ILocalIntegerValueBlock {
- value: number;
- }
- interface LocalIntegerValueBlockParams extends HexBlockParams, ValueBlockParams, Partial<ILocalIntegerValueBlock> {
- }
- interface LocalIntegerValueBlockJson extends HexBlockJson, ValueBlockJson {
- valueDec: number;
- }
- declare const LocalIntegerValueBlock_base: {
- new (...args: any[]): {
- isHexOnly: boolean;
- valueHex: ArrayBuffer;
- valueHexView: Uint8Array;
- fromBER(inputBuffer: ArrayBuffer | Uint8Array, inputOffset: number, inputLength: number, _context?: unknown): number;
- toBER(sizeOnly?: boolean): ArrayBuffer;
- toJSON(): {
- isHexOnly: boolean;
- valueHex: string;
- blockName: string;
- valueBeforeDecode: string;
- blockLength: number;
- error: string;
- warnings: string[];
- };
- blockLength: number;
- error: string;
- warnings: string[];
- valueBeforeDecode: ArrayBuffer;
- valueBeforeDecodeView: Uint8Array;
- };
- NAME: string;
- blockName(): string;
- } & typeof ValueBlock;
- declare class LocalIntegerValueBlock extends LocalIntegerValueBlock_base implements IDerConvertible {
- protected setValueHex(): void;
- static NAME: string;
- private _valueDec;
- constructor({ value, ...parameters }?: LocalIntegerValueBlockParams);
- set valueDec(v: number);
- get valueDec(): number;
- fromDER(inputBuffer: ArrayBuffer, inputOffset: number, inputLength: number, expectedLength?: number): number;
- toDER(sizeOnly?: boolean): ArrayBuffer;
- fromBER(inputBuffer: ArrayBuffer, inputOffset: number, inputLength: number): number;
- toBER(sizeOnly?: boolean): ArrayBuffer;
- toJSON(): LocalIntegerValueBlockJson;
- toString(): string;
- }
- interface LocalIntegerValueBlock {
- /**
- * @deprecated since version 3.0.0
- */
- valueBeforeDecode: ArrayBuffer;
- /**
- * Binary data in ArrayBuffer representation
- *
- * @deprecated since version 3.0.0
- */
- valueHex: ArrayBuffer;
- }
- interface IntegerParams extends BaseBlockParams, LocalIntegerValueBlockParams {
- }
- type IntegerJson = BaseBlockJson<LocalIntegerValueBlockJson>;
- declare class Integer extends BaseBlock<LocalIntegerValueBlock, LocalIntegerValueBlockJson> {
- static NAME: string;
- constructor(parameters?: IntegerParams);
- /**
- * Converts Integer into BigInt
- * @throws Throws Error if BigInt is not supported
- * @since 3.0.0
- */
- toBigInt(): bigint;
- /**
- * Creates Integer from BigInt value
- * @param value BigInt value
- * @returns ASN.1 Integer
- * @throws Throws Error if BigInt is not supported
- * @since 3.0.0
- */
- static fromBigInt(value: number | string | bigint | boolean): Integer;
- convertToDER(): Integer;
- /**
- * Convert current Integer value from DER to BER format
- * @returns
- */
- convertFromDER(): Integer;
- protected onAsciiEncoding(): string;
- }
- type EnumeratedParams = IntegerParams;
- type EnumeratedJson = IntegerJson;
- declare class Enumerated extends Integer {
- static NAME: string;
- constructor(parameters?: EnumeratedParams);
- }
- type VisibleStringParams = LocalSimpleStringBlockParams;
- type VisibleStringJson = LocalSimpleStringBlockJson;
- declare class VisibleString extends LocalSimpleStringBlock {
- static NAME: string;
- constructor(parameters?: VisibleStringParams);
- }
- interface IUTCTime {
- year: number;
- month: number;
- day: number;
- hour: number;
- minute: number;
- second: number;
- }
- interface UTCTimeParams extends VisibleStringParams {
- value?: string;
- valueDate?: Date;
- }
- interface UTCTimeJson extends BaseBlockJson<LocalSimpleStringValueBlockJson>, IUTCTime {
- }
- type DateStringEncoding = StringEncoding | "iso";
- declare class UTCTime extends VisibleString implements IUTCTime, IDateConvertible {
- static NAME: string;
- year: number;
- month: number;
- day: number;
- hour: number;
- minute: number;
- second: number;
- constructor({ value, valueDate, ...parameters }?: UTCTimeParams);
- fromBuffer(inputBuffer: ArrayBuffer | Uint8Array): void;
- /**
- * Function converting ASN.1 internal string into ArrayBuffer
- * @returns
- */
- toBuffer(): ArrayBuffer;
- /**
- * Function converting "Date" object into ASN.1 internal string
- * @param {!Date} inputDate JavaScript "Date" object
- */
- fromDate(inputDate: Date): void;
- toDate(): Date;
- fromString(inputString: string): void;
- toString(encoding?: DateStringEncoding): string;
- protected onAsciiEncoding(): string;
- toJSON(): UTCTimeJson;
- }
- interface IGeneralizedTime extends IUTCTime {
- millisecond: number;
- }
- type GeneralizedTimeParams = UTCTimeParams;
- interface GeneralizedTimeJson extends UTCTimeJson {
- millisecond: number;
- }
- declare class GeneralizedTime extends UTCTime {
- static NAME: string;
- millisecond: number;
- constructor(parameters?: GeneralizedTimeParams);
- fromDate(inputDate: Date): void;
- toDate(): Date;
- fromString(inputString: string): void;
- toString(encoding?: DateStringEncoding): string;
- toJSON(): GeneralizedTimeJson;
- }
- type GeneralStringParams = LocalSimpleStringBlockParams;
- type GeneralStringJson = LocalSimpleStringBlockJson;
- declare class GeneralString extends LocalSimpleStringBlock {
- static NAME: string;
- constructor(parameters?: GeneralStringParams);
- }
- type GraphicStringParams = LocalSimpleStringBlockParams;
- type GraphicStringJson = LocalSimpleStringBlockJson;
- declare class GraphicString extends LocalSimpleStringBlock {
- static NAME: string;
- constructor(parameters?: GraphicStringParams);
- }
- type IA5StringParams = LocalSimpleStringBlockParams;
- type IA5StringJson = LocalSimpleStringBlockJson;
- declare class IA5String extends LocalSimpleStringBlock {
- static NAME: string;
- constructor(parameters?: IA5StringParams);
- }
- type NullParams = BaseBlockParams;
- type NullJson = BaseBlockJson<ValueBlockJson>;
- declare class Null extends BaseBlock<ValueBlock, ValueBlockJson> {
- static NAME: string;
- constructor(parameters?: NullParams);
- fromBER(inputBuffer: ArrayBuffer | Uint8Array, inputOffset: number, inputLength: number): number;
- toBER(sizeOnly?: boolean, writer?: ViewWriter): ArrayBuffer;
- protected onAsciiEncoding(): string;
- }
- type NumericStringParams = LocalSimpleStringBlockParams;
- type NumericStringJson = LocalSimpleStringBlockJson;
- declare class NumericString extends LocalSimpleStringBlock {
- static NAME: string;
- constructor(parameters?: NumericStringParams);
- }
- interface ILocalSidValueBlock {
- valueDec: number;
- isFirstSid: boolean;
- }
- interface LocalSidValueBlockParams extends HexBlockParams, ValueBlockParams, Partial<ILocalSidValueBlock> {
- }
- interface LocalSidValueBlockJson extends HexBlockJson, ValueBlockJson, ILocalSidValueBlock {
- }
- declare const LocalSidValueBlock_base: {
- new (...args: any[]): {
- isHexOnly: boolean;
- valueHex: ArrayBuffer;
- valueHexView: Uint8Array;
- fromBER(inputBuffer: ArrayBuffer | Uint8Array, inputOffset: number, inputLength: number, _context?: unknown): number;
- toBER(sizeOnly?: boolean): ArrayBuffer;
- toJSON(): {
- isHexOnly: boolean;
- valueHex: string;
- blockName: string;
- valueBeforeDecode: string;
- blockLength: number;
- error: string;
- warnings: string[];
- };
- blockLength: number;
- error: string;
- warnings: string[];
- valueBeforeDecode: ArrayBuffer;
- valueBeforeDecodeView: Uint8Array;
- };
- NAME: string;
- blockName(): string;
- } & typeof ValueBlock;
- declare class LocalSidValueBlock extends LocalSidValueBlock_base implements ILocalSidValueBlock {
- static NAME: string;
- valueDec: number;
- isFirstSid: boolean;
- constructor({ valueDec, isFirstSid, ...parameters }?: LocalSidValueBlockParams);
- fromBER(inputBuffer: ArrayBuffer | Uint8Array, inputOffset: number, inputLength: number): number;
- set valueBigInt(value: bigint);
- toBER(sizeOnly?: boolean): ArrayBuffer;
- toString(): string;
- toJSON(): LocalSidValueBlockJson;
- }
- interface LocalSidValueBlock {
- /**
- * @deprecated since version 3.0.0
- */
- valueBeforeDecode: ArrayBuffer;
- /**
- * Binary data in ArrayBuffer representation
- *
- * @deprecated since version 3.0.0
- */
- valueHex: ArrayBuffer;
- }
- interface ILocalObjectIdentifierValueBlock {
- value: string;
- }
- interface LocalObjectIdentifierValueBlockParams extends ValueBlockParams, Partial<ILocalObjectIdentifierValueBlock> {
- }
- interface LocalObjectIdentifierValueBlockJson extends ValueBlockJson, ILocalObjectIdentifierValueBlock {
- sidArray: LocalSidValueBlockJson[];
- }
- declare class LocalObjectIdentifierValueBlock extends ValueBlock implements IStringConvertible {
- static NAME: string;
- value: LocalSidValueBlock[];
- constructor({ value, ...parameters }?: LocalObjectIdentifierValueBlockParams);
- fromBER(inputBuffer: ArrayBuffer | Uint8Array, inputOffset: number, inputLength: number): number;
- toBER(sizeOnly?: boolean): ArrayBuffer;
- fromString(string: string): void;
- toString(): string;
- toJSON(): LocalObjectIdentifierValueBlockJson;
- }
- interface ObjectIdentifierParams extends BaseBlockParams, LocalObjectIdentifierValueBlockParams {
- }
- interface ObjectIdentifierJson extends BaseBlockJson<LocalObjectIdentifierValueBlockJson> {
- value: string;
- }
- declare class ObjectIdentifier extends BaseBlock<LocalObjectIdentifierValueBlock, LocalObjectIdentifierValueBlockJson> {
- static NAME: string;
- /**
- * Gets string representation of Object Identifier
- * @since 3.0.0
- */
- getValue(): string;
- /**
- * Sets Object Identifier value from string
- * @param value String value
- * @since 3.0.0
- */
- setValue(value: string): void;
- constructor(parameters?: ObjectIdentifierParams);
- protected onAsciiEncoding(): string;
- toJSON(): ObjectIdentifierJson;
- }
- interface ILocalOctetStringValueBlock {
- isConstructed: boolean;
- }
- interface LocalOctetStringValueBlockParams extends HexBlockParams, LocalConstructedValueBlockParams, Partial<ILocalOctetStringValueBlock> {
- value?: OctetString[];
- }
- interface LocalOctetStringValueBlockJson extends HexBlockJson, LocalConstructedValueBlockJson, ILocalOctetStringValueBlock {
- }
- declare const LocalOctetStringValueBlock_base: {
- new (...args: any[]): {
- isHexOnly: boolean;
- valueHex: ArrayBuffer;
- valueHexView: Uint8Array;
- fromBER(inputBuffer: ArrayBuffer | Uint8Array, inputOffset: number, inputLength: number, _context?: unknown): number;
- toBER(sizeOnly?: boolean): ArrayBuffer;
- toJSON(): {
- isHexOnly: boolean;
- valueHex: string;
- blockName: string;
- valueBeforeDecode: string;
- blockLength: number;
- error: string;
- warnings: string[];
- };
- blockLength: number;
- error: string;
- warnings: string[];
- valueBeforeDecode: ArrayBuffer;
- valueBeforeDecodeView: Uint8Array;
- };
- NAME: string;
- blockName(): string;
- } & typeof LocalConstructedValueBlock;
- declare class LocalOctetStringValueBlock extends LocalOctetStringValueBlock_base {
- static NAME: string;
- isConstructed: boolean;
- constructor({ isConstructed, ...parameters }?: LocalOctetStringValueBlockParams);
- fromBER(inputBuffer: ArrayBuffer, inputOffset: number, inputLength: number, context?: FromBerContext): number;
- toBER(sizeOnly?: boolean, writer?: ViewWriter): ArrayBuffer;
- toJSON(): LocalOctetStringValueBlockJson;
- }
- interface LocalOctetStringValueBlock {
- /**
- * @deprecated since version 3.0.0
- */
- valueBeforeDecode: ArrayBuffer;
- /**
- * Binary data in ArrayBuffer representation
- *
- * @deprecated since version 3.0.0
- */
- valueHex: ArrayBuffer;
- }
- interface OctetStringParams extends BaseBlockParams, LocalOctetStringValueBlockParams {
- }
- type OctetStringJson = BaseBlockJson<LocalOctetStringValueBlockJson>;
- declare class OctetString extends BaseBlock<LocalOctetStringValueBlock, LocalOctetStringValueBlockJson> {
- static NAME: string;
- constructor({ idBlock, lenBlock, ...parameters }?: OctetStringParams);
- fromBER(inputBuffer: ArrayBuffer | Uint8Array, inputOffset: number, inputLength: number, context?: FromBerContext): number;
- protected onAsciiEncoding(): string;
- /**
- * Returns OctetString value. If OctetString is constructed, returns concatenated internal OctetString values
- * @returns Array buffer
- * @since 3.0.0
- */
- getValue(): ArrayBuffer;
- }
- interface LocalPrimitiveValueBlockParams extends HexBlockParams, ValueBlockParams {
- }
- interface LocalPrimitiveValueBlockJson extends HexBlockJson, ValueBlockJson {
- }
- declare const LocalPrimitiveValueBlock_base: {
- new (...args: any[]): {
- isHexOnly: boolean;
- valueHex: ArrayBuffer;
- valueHexView: Uint8Array;
- fromBER(inputBuffer: ArrayBuffer | Uint8Array, inputOffset: number, inputLength: number, _context?: unknown): number;
- toBER(sizeOnly?: boolean): ArrayBuffer;
- toJSON(): {
- isHexOnly: boolean;
- valueHex: string;
- blockName: string;
- valueBeforeDecode: string;
- blockLength: number;
- error: string;
- warnings: string[];
- };
- blockLength: number;
- error: string;
- warnings: string[];
- valueBeforeDecode: ArrayBuffer;
- valueBeforeDecodeView: Uint8Array;
- };
- NAME: string;
- blockName(): string;
- } & typeof ValueBlock;
- declare class LocalPrimitiveValueBlock extends LocalPrimitiveValueBlock_base {
- static NAME: string;
- constructor({ isHexOnly, ...parameters }?: LocalPrimitiveValueBlockParams);
- }
- interface LocalPrimitiveValueBlock {
- /**
- * @deprecated since version 3.0.0
- */
- valueBeforeDecode: ArrayBuffer;
- /**
- * Binary data in ArrayBuffer representation
- *
- * @deprecated since version 3.0.0
- */
- valueHex: ArrayBuffer;
- }
- interface PrimitiveParams extends BaseBlockParams, LocalPrimitiveValueBlockParams {
- }
- type PrimitiveJson = BaseBlockJson<LocalPrimitiveValueBlockJson>;
- declare class Primitive extends BaseBlock<LocalPrimitiveValueBlock, LocalPrimitiveValueBlockJson> {
- static NAME: string;
- constructor(parameters?: PrimitiveParams);
- }
- type PrintableStringParams = LocalSimpleStringBlockParams;
- type PrintableStringJson = LocalSimpleStringBlockJson;
- declare class PrintableString extends LocalSimpleStringBlock {
- static NAME: string;
- constructor(parameters?: PrintableStringParams);
- }
- interface ILocalRelativeSidValueBlock {
- valueDec: number;
- }
- interface LocalRelativeSidValueBlockParams extends HexBlockParams, ValueBlockParams, Partial<ILocalRelativeSidValueBlock> {
- }
- interface LocalRelativeSidValueBlockJson extends HexBlockJson, ValueBlockJson, ILocalRelativeSidValueBlock {
- }
- declare const LocalRelativeSidValueBlock_base: {
- new (...args: any[]): {
- isHexOnly: boolean;
- valueHex: ArrayBuffer;
- valueHexView: Uint8Array;
- fromBER(inputBuffer: ArrayBuffer | Uint8Array, inputOffset: number, inputLength: number, _context?: unknown): number;
- toBER(sizeOnly?: boolean): ArrayBuffer;
- toJSON(): {
- isHexOnly: boolean;
- valueHex: string;
- blockName: string;
- valueBeforeDecode: string;
- blockLength: number;
- error: string;
- warnings: string[];
- };
- blockLength: number;
- error: string;
- warnings: string[];
- valueBeforeDecode: ArrayBuffer;
- valueBeforeDecodeView: Uint8Array;
- };
- NAME: string;
- blockName(): string;
- } & typeof LocalBaseBlock;
- declare class LocalRelativeSidValueBlock extends LocalRelativeSidValueBlock_base implements ILocalRelativeSidValueBlock {
- static NAME: string;
- valueDec: number;
- constructor({ valueDec, ...parameters }?: LocalRelativeSidValueBlockParams);
- fromBER(inputBuffer: ArrayBuffer | Uint8Array, inputOffset: number, inputLength: number): number;
- toBER(sizeOnly?: boolean): ArrayBuffer;
- toString(): string;
- toJSON(): LocalRelativeSidValueBlockJson;
- }
- interface ILocalRelativeObjectIdentifierValueBlock {
- value: string;
- }
- interface LocalRelativeObjectIdentifierValueBlockParams extends ValueBlockParams, Partial<ILocalRelativeObjectIdentifierValueBlock> {
- }
- interface LocalRelativeObjectIdentifierValueBlockJson extends ValueBlockJson, ILocalRelativeObjectIdentifierValueBlock {
- sidArray: LocalRelativeSidValueBlockJson[];
- }
- declare class LocalRelativeObjectIdentifierValueBlock extends ValueBlock implements IStringConvertible {
- static NAME: string;
- value: LocalRelativeSidValueBlock[];
- constructor({ value, ...parameters }?: LocalRelativeObjectIdentifierValueBlockParams);
- fromBER(inputBuffer: ArrayBuffer | Uint8Array, inputOffset: number, inputLength: number): number;
- toBER(sizeOnly?: boolean, _writer?: ViewWriter): ArrayBuffer;
- fromString(string: string): boolean;
- toString(): string;
- toJSON(): LocalRelativeObjectIdentifierValueBlockJson;
- }
- interface RelativeObjectIdentifierParams extends BaseBlockParams, LocalRelativeObjectIdentifierValueBlockParams {
- }
- interface RelativeObjectIdentifierJson extends BaseBlockJson<LocalRelativeObjectIdentifierValueBlockJson> {
- value: string;
- }
- declare class RelativeObjectIdentifier extends BaseBlock<LocalRelativeObjectIdentifierValueBlock, LocalRelativeObjectIdentifierValueBlockJson> {
- /**
- * Gets string representation of Relative Object Identifier
- * @since 3.0.0
- */
- getValue(): string;
- /**
- * Sets Relative Object Identifier value from string
- * @param value String value
- * @since 3.0.0
- */
- setValue(value: string): void;
- static NAME: string;
- constructor(parameters?: RelativeObjectIdentifierParams);
- protected onAsciiEncoding(): string;
- toJSON(): RelativeObjectIdentifierJson;
- }
- type SequenceParams = ConstructedParams;
- type SequenceJson = ConstructedJson;
- declare class Sequence extends Constructed {
- static NAME: string;
- constructor(parameters?: SequenceParams);
- }
- type SetParams = ConstructedParams;
- type SetJson = ConstructedJson;
- declare class Set extends Constructed {
- static NAME: string;
- constructor(parameters?: SetParams);
- }
- type TeletexStringParams = LocalSimpleStringBlockParams;
- type TeletexStringJson = LocalSimpleStringBlockJson;
- declare class TeletexString extends LocalSimpleStringBlock {
- static NAME: string;
- constructor(parameters?: TeletexStringParams);
- }
- type TIMEParams = Utf8StringParams;
- type TIMEJson = Utf8StringJson;
- declare class TIME extends Utf8String {
- static NAME: string;
- constructor(parameters?: TIMEParams);
- }
- type TimeOfDayParams = Utf8StringParams;
- type TimeOfDayJson = Utf8StringJson;
- declare class TimeOfDay extends Utf8String {
- static NAME: string;
- constructor(parameters?: TimeOfDayParams);
- }
- type LocalUniversalStringValueBlockParams = LocalSimpleStringBlockParams;
- type LocalUniversalStringValueBlockJson = LocalSimpleStringBlockJson;
- declare class LocalUniversalStringValueBlock extends LocalSimpleStringBlock {
- static NAME: string;
- fromBuffer(inputBuffer: ArrayBuffer | Uint8Array): void;
- fromString(inputString: string): void;
- }
- type UniversalStringParams = LocalUniversalStringValueBlockParams;
- type UniversalStringJson = LocalUniversalStringValueBlockJson;
- declare class UniversalString extends LocalUniversalStringValueBlock {
- static NAME: string;
- constructor({ ...parameters }?: UniversalStringParams);
- }
- type VideotexStringParams = LocalSimpleStringBlockParams;
- type VideotexStringJson = LocalSimpleStringBlockJson;
- declare class VideotexString extends LocalSimpleStringBlock {
- static NAME: string;
- constructor(parameters?: VideotexStringParams);
- }
- type AsnType = BaseBlock | EndOfContent | Boolean | Integer | BitString | OctetString | Null | ObjectIdentifier | Enumerated | Utf8String | RelativeObjectIdentifier | TIME | Sequence | Set | NumericString | PrintableString | TeletexString | VideotexString | IA5String | UTCTime | GeneralizedTime | GraphicString | VisibleString | GeneralString | UniversalString | CharacterString | BmpString | DATE | TimeOfDay | DateTime | Duration | Constructed | Primitive;
- interface FromBerResult {
- offset: number;
- result: AsnType;
- }
- interface FromBerOptions {
- maxDepth?: number;
- maxNodes?: number;
- maxContentLength?: number;
- }
- interface FromBerContext {
- depth: number;
- maxDepth: number;
- nodesCount: number;
- maxNodes: number;
- maxContentLength: number;
- }
- declare const DEFAULT_MAX_DEPTH = 100;
- declare const DEFAULT_MAX_NODES = 10000;
- declare const DEFAULT_MAX_CONTENT_LENGTH: number;
- /**
- * Major function for decoding ASN.1 BER array into internal library structures
- * @param inputBuffer ASN.1 BER encoded array of bytes
- * @param options Parser resource limits for untrusted input
- */
- declare function fromBER(inputBuffer: pvtsutils.BufferSource, options?: FromBerOptions): FromBerResult;
- interface IBaseBlock {
- name: string;
- optional: boolean;
- primitiveSchema?: BaseBlock;
- }
- interface BaseBlockParams extends LocalBaseBlockParams, LocalIdentificationBlockParams, LocalLengthBlockParams, Partial<IBaseBlock> {
- }
- type ValueBlockConstructor<T extends ValueBlock = ValueBlock> = new (...args: any[]) => T;
- interface BaseBlockJson<T extends LocalBaseBlockJson = LocalBaseBlockJson> extends LocalBaseBlockJson, Omit<IBaseBlock, "primitiveSchema"> {
- idBlock: LocalIdentificationBlockJson;
- lenBlock: LocalLengthBlockJson;
- valueBlock: T;
- primitiveSchema?: BaseBlockJson;
- }
- type StringEncoding = "ascii" | "hex";
- declare class BaseBlock<T extends ValueBlock = ValueBlock, J extends ValueBlockJson = ValueBlockJson> extends LocalBaseBlock implements IBaseBlock, IBerConvertible {
- static NAME: string;
- idBlock: LocalIdentificationBlock;
- lenBlock: LocalLengthBlock;
- valueBlock: T;
- name: string;
- optional: boolean;
- primitiveSchema?: BaseBlock;
- constructor({ name, optional, primitiveSchema, ...parameters }?: BaseBlockParams, valueBlockType?: ValueBlockConstructor<T>);
- fromBER(inputBuffer: Uint8Array, inputOffset: number, inputLength: number, context?: FromBerContext): number;
- toBER(sizeOnly?: boolean, writer?: ViewWriter): ArrayBuffer;
- toJSON(): BaseBlockJson<J>;
- toString(encoding?: StringEncoding): string;
- protected onAsciiEncoding(): string;
- /**
- * Determines whether two object instances are equal
- * @param other Object to compare with the current object
- */
- isEqual(other: unknown): other is this;
- }
- interface IChoice extends IAny {
- value: BaseBlock[];
- }
- type ChoiceParams = Partial<IChoice>;
- declare class Choice extends Any implements IChoice {
- value: BaseBlock[];
- constructor({ value, ...parameters }?: ChoiceParams);
- }
- interface IRepeated extends IAny {
- value: Any;
- local: boolean;
- }
- type RepeatedParams = Partial<IRepeated>;
- declare class Repeated extends Any {
- value: Any;
- local: boolean;
- constructor({ value, local, ...parameters }?: RepeatedParams);
- }
- interface IRawData {
- data: ArrayBuffer;
- }
- type RawDataParams = Partial<IRawData>;
- /**
- * Special class providing ability to have "toBER/fromBER" for raw ArrayBuffer
- */
- declare class RawData implements IBerConvertible {
- /**
- * @deprecated Since v3.0.0
- */
- get data(): ArrayBuffer;
- /**
- * @deprecated Since v3.0.0
- */
- set data(value: ArrayBuffer);
- /**
- * @since 3.0.0
- */
- dataView: Uint8Array;
- constructor({ data }?: RawDataParams);
- fromBER(inputBuffer: ArrayBuffer | Uint8Array, inputOffset: number, inputLength: number): number;
- toBER(_sizeOnly?: boolean): ArrayBuffer;
- }
- type AsnSchemaType = AsnType | Any | Choice | Repeated;
- interface CompareSchemaSuccess {
- verified: true;
- result: AsnType & Record<string, any>;
- }
- interface CompareSchemaFail {
- verified: false;
- name?: string;
- result: AsnType | {
- error: string;
- };
- }
- type CompareSchemaResult = CompareSchemaSuccess | CompareSchemaFail;
- /**
- * Compare of two ASN.1 object trees
- * @param root Root of input ASN.1 object tree
- * @param inputData Input ASN.1 object tree
- * @param inputSchema Input ASN.1 schema to compare with
- * @return Returns result of comparison
- */
- declare function compareSchema(root: AsnType, inputData: AsnType, inputSchema: AsnSchemaType): CompareSchemaResult;
- /**
- * ASN.1 schema verification for ArrayBuffer data
- * @param inputBuffer Input BER-encoded ASN.1 data
- * @param inputSchema Input ASN.1 schema to verify against to
- * @return
- */
- declare function verifySchema(inputBuffer: pvtsutils.BufferSource, inputSchema: AsnSchemaType): CompareSchemaResult;
- export { Any, BaseBlock, BaseStringBlock, BitString, BmpString, Boolean, CharacterString, Choice, Constructed, DATE, DEFAULT_MAX_CONTENT_LENGTH, DEFAULT_MAX_DEPTH, DEFAULT_MAX_NODES, DateTime, Duration, EndOfContent, Enumerated, GeneralString, GeneralizedTime, GraphicString, HexBlock, IA5String, Integer, Null, NumericString, ObjectIdentifier, OctetString, Primitive, PrintableString, RawData, RelativeObjectIdentifier, Repeated, Sequence, Set, TIME, TeletexString, TimeOfDay, UTCTime, UniversalString, Utf8String, ValueBlock, VideotexString, ViewWriter, VisibleString, compareSchema, fromBER, verifySchema };
- export type { AnyParams, AsnSchemaType, AsnType, BaseBlockJson, BaseBlockParams, BaseStringBlockJson, BaseStringBlockParams, BitStringJson, BitStringParams, BmpStringJson, BmpStringParams, BooleanJson, BooleanParams, CharacterStringJson, CharacterStringParams, ChoiceParams, CompareSchemaFail, CompareSchemaResult, CompareSchemaSuccess, ConstructedJson, ConstructedParams, DATEJson, DATEParams, DateStringEncoding, DateTimeJson, DateTimeParams, DurationJson, DurationParams, EndOfContentJson, EndOfContentParams, EnumeratedJson, EnumeratedParams, FromBerOptions, FromBerResult, GeneralStringJson, GeneralStringParams, GeneralizedTimeJson, GeneralizedTimeParams, GraphicStringJson, GraphicStringParams, HexBlockJson, HexBlockParams, IA5StringJson, IA5StringParams, IAny, IBaseBlock, IBerConvertible, IChoice, IDateConvertible, IDerConvertible, IGeneralizedTime, IHexBlock, IRawData, IRepeated, IStringConvertible, IUTCTime, IValueBlock, IntegerJson, IntegerParams, NullJson, NullParams, NumericStringJson, NumericStringParams, ObjectIdentifierJson, ObjectIdentifierParams, OctetStringJson, OctetStringParams, PrimitiveJson, PrimitiveParams, PrintableStringJson, PrintableStringParams, RawDataParams, RelativeObjectIdentifierJson, RelativeObjectIdentifierParams, RepeatedParams, SequenceJson, SequenceParams, SetJson, SetParams, StringEncoding, TIMEJson, TIMEParams, TeletexStringJson, TeletexStringParams, TimeOfDayJson, TimeOfDayParams, UTCTimeJson, UTCTimeParams, UniversalStringJson, UniversalStringParams, Utf8StringJson, Utf8StringParams, ValueBlockConstructor, ValueBlockJson, ValueBlockParams, VideotexStringJson, VideotexStringParams, VisibleStringJson, VisibleStringParams };
|