UNPKG

3.22 kBTypeScriptView Raw
1// Type definitions for asn1 0.2
2// Project: https://github.com/joyent/node-asn1
3// Definitions by: Jim Geurts <https://github.com/jgeurts>
4// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
5// TypeScript Version: 2.3
6/// <reference types="node" />
7
8export class BerReader {
9 readonly buffer: Buffer;
10 readonly offset: number;
11 readonly length: number;
12 readonly remain: number;
13 readonly _buf: Buffer;
14 _size: number;
15 _offset: number;
16
17 constructor(data: Buffer);
18
19 peek(): number | null;
20 readBoolean(): boolean;
21 readByte(peek: boolean): number | null;
22 readEnumeration(): number;
23 readInt(): number;
24 readLength(offset?: number): number;
25 readOID(tag?: number): string;
26 readSequence(tag?: number): number | null;
27 readString(tag?: number): string;
28 readString(tag: number, retbuf: boolean): Buffer;
29 _readTag(tag?: number): number;
30}
31
32export class BerWriter {
33 readonly buffer: Buffer;
34 readonly _buf: Buffer;
35 readonly _size: number;
36 _offset: number;
37
38 constructor(options?: {
39 size: number;
40 growthFactor: number;
41 });
42
43 endSequence(): void;
44 startSequence(tag?: number): void;
45 writeBoolean(b: boolean, tag?: number): void;
46 writeBuffer(buf: Buffer, tag: number): void;
47 writeByte(b: number): void;
48 writeEnumeration(i: number, tag?: number): void;
49 writeInt(i: number, tag?: number): void;
50 writeLength(len: number): void;
51 writeNull(): void;
52 writeOID(s: string, tag: number): void;
53 writeString(s: string, tag?: number): void;
54 writeStringArray(strings: ReadonlyArray<string>): void;
55 _ensure(length: number): void;
56}
57
58export namespace Ber {
59 const BMPString: number;
60 const BitString: number;
61 const Boolean: number;
62 const CharacterString: number;
63 const Constructor: number;
64 const Context: number;
65 const EOC: number;
66 const Enumeration: number;
67 const External: number;
68 const GeneralString: number;
69 const GeneralizedTime: number;
70 const GraphicString: number;
71 const IA5String: number;
72 const Integer: number;
73 const Null: number;
74 const NumericString: number;
75 const OID: number;
76 const ObjectDescriptor: number;
77 const OctetString: number;
78 const PDV: number;
79 const PrintableString: number;
80 const Real: number;
81 const RelativeOID: number;
82 const Sequence: number;
83 const Set: number;
84 const T61String: number;
85 const UTCTime: number;
86 const UniversalString: number;
87 const Utf8String: number;
88 const VideotexString: number;
89 const VisibleString: number;
90}
91/*
92declare enum BerType {
93 EOC = 0,
94 Boolean = 1,
95 Integer = 2,
96 BitString = 3,
97 OctetString = 4,
98 Null = 5,
99 OID = 6,
100 ObjectDescriptor = 7,
101 External = 8,
102 Real = 9, // float
103 Enumeration = 10,
104 PDV = 11,
105 Utf8String = 12,
106 RelativeOID = 13,
107 Sequence = 16,
108 Set = 17,
109 NumericString = 18,
110 PrintableString = 19,
111 T61String = 20,
112 VideotexString = 21,
113 IA5String = 22,
114 UTCTime = 23,
115 GeneralizedTime = 24,
116 GraphicString = 25,
117 VisibleString = 26,
118 GeneralString = 28,
119 UniversalString = 29,
120 CharacterString = 30,
121 BMPString = 31,
122 Constructor = 32,
123 Context = 128,
124}
125
126*/