@@ -4,21 +4,25 @@ declare namespace Paseto {
4
4
* complete construction asynchronously
5
5
*/
6
6
inject ( rkey : Buffer ) : Promise < void > ;
7
+ inject ( rkey : Buffer , cb : ( err : Error ) => void ) : void ;
7
8
8
9
/**
9
10
* complete construction asynchronously using base64 encoded key
10
11
*/
11
12
base64 ( skey : string ) : Promise < void > ;
13
+ base64 ( skey : string , cb : ( err : Error ) => void ) : void ;
12
14
13
15
/**
14
16
* complete construction asynchronously using hex encoded key
15
17
*/
16
18
hex ( skey : string ) : Promise < void > ;
19
+ hex ( skey : string , cb : ( err : Error ) => void ) : void ;
17
20
18
21
/**
19
22
* complete construction asynchronously, generating key
20
23
*/
21
24
generate ( ) : Promise < void > ;
25
+ generate ( cb : ( err : Error ) => void ) : void ;
22
26
23
27
/**
24
28
* return the underlying protocol object
@@ -36,34 +40,56 @@ declare namespace Paseto {
36
40
raw ( ) : Buffer ;
37
41
}
38
42
43
+ interface IPasetoKeyV1 extends IPasetoKey < V1 > { }
44
+ interface IPasetoKeyV2 extends IPasetoKey < V2 > { }
45
+
39
46
/**
40
47
* private key for asymmetric cryptography
41
48
*/
42
49
export class PrivateKey < P extends IProtocol > implements IPasetoKey < P > {
43
50
constructor ( proto : P ) ;
51
+
44
52
public inject ( rkey : Buffer ) : Promise < void > ;
53
+ public inject ( rkey : Buffer , cb : ( err : Error ) => void ) : void ;
54
+
45
55
public base64 ( skey : string ) : Promise < void > ;
56
+ public base64 ( skey : string , cb : ( err : Error ) => void ) : void ;
57
+
46
58
public hex ( skey : string ) : Promise < void > ;
59
+ public hex ( skey : string , cb : ( err : Error ) => void ) : void ;
60
+
47
61
public generate ( ) : Promise < void > ;
62
+ public generate ( cb : ( err : Error ) => void ) : void ;
63
+
48
64
public protocol ( ) : P ;
49
65
public encode ( ) : string ;
50
66
public raw ( ) : Buffer ;
51
67
52
68
/**
53
69
* return the corresponding public key object
54
70
*/
55
- public public ( ) : Promise < PublicKey < P > >
71
+ public public ( ) : Promise < PublicKey < P > > ;
72
+ public public ( cb : ( err : Error , key : PublicKey < P > ) => void ) : void ;
56
73
}
57
74
58
75
/**
59
76
* public key for asymmetric cryptography
60
77
*/
61
78
export class PublicKey < P extends IProtocol > implements IPasetoKey < P > {
62
79
constructor ( proto : P ) ;
80
+
63
81
public inject ( rkey : Buffer ) : Promise < void > ;
82
+ public inject ( rkey : Buffer , cb : ( err : Error ) => void ) : void ;
83
+
64
84
public base64 ( skey : string ) : Promise < void > ;
85
+ public base64 ( skey : string , cb : ( err : Error ) => void ) : void ;
86
+
65
87
public hex ( skey : string ) : Promise < void > ;
88
+ public hex ( skey : string , cb : ( err : Error ) => void ) : void ;
89
+
66
90
public generate ( ) : Promise < void > ;
91
+ public generate ( cb : ( err : Error ) => void ) : void ;
92
+
67
93
public protocol ( ) : P ;
68
94
public encode ( ) : string ;
69
95
public raw ( ) : Buffer ;
@@ -74,10 +100,19 @@ declare namespace Paseto {
74
100
*/
75
101
export class SymmetricKey < P extends IProtocol > implements IPasetoKey < P > {
76
102
constructor ( proto : P ) ;
103
+
77
104
public inject ( rkey : Buffer ) : Promise < void > ;
105
+ public inject ( rkey : Buffer , cb : ( err : Error ) => void ) : void ;
106
+
78
107
public base64 ( skey : string ) : Promise < void > ;
108
+ public base64 ( skey : string , cb : ( err : Error ) => void ) : void ;
109
+
79
110
public hex ( skey : string ) : Promise < void > ;
111
+ public hex ( skey : string , cb : ( err : Error ) => void ) : void ;
112
+
80
113
public generate ( ) : Promise < void > ;
114
+ public generate ( cb : ( err : Error ) => void ) : void
115
+
81
116
public protocol ( ) : P ;
82
117
public encode ( ) : string ;
83
118
public raw ( ) : Buffer ;
@@ -136,11 +171,13 @@ declare namespace Paseto {
136
171
* generate a private key for use with the protocol
137
172
*/
138
173
private ( ) : Promise < PrivateKey < this> > ;
174
+ private ( cb : ( err : Error , key : PrivateKey < this> ) => void ) : void
139
175
140
176
/**
141
177
* generate a symmetric key for use with the protocol
142
178
*/
143
179
symmetric ( ) : Promise < SymmetricKey < this> > ;
180
+ symmetric ( cb : ( err : Error , key : SymmetricKey < this> ) => void ) : void
144
181
145
182
/**
146
183
* get protocol representation
@@ -156,49 +193,77 @@ declare namespace Paseto {
156
193
* symmetric authenticated encryption
157
194
*/
158
195
encrypt ( data : Buffer | string , key : SymmetricKey < this> , footer ?: Buffer | string ) : Promise < string > ;
196
+ encrypt ( data : Buffer | string , key : SymmetricKey < this> , footer : Buffer | string | undefined , cb : ( err : Error , token : string ) => void ) : void
159
197
160
198
/**
161
199
* symmetric authenticated decryption
162
200
*/
163
201
decrypt ( token : string , key : SymmetricKey < this> , footer ?: Buffer | string ) : Promise < string > ;
202
+ decrypt ( token : string , key : SymmetricKey < this> , footer : Buffer | string | undefined , cb : ( err : Error , data : string ) => void ) : void ;
164
203
165
204
/**
166
205
* asymmetric authentication
167
206
*/
168
207
sign ( data : Buffer | string , key : PrivateKey < this> , footer ?: Buffer | string ) : Promise < string > ;
208
+ sign ( data : Buffer | string , key : PrivateKey < this> , footer : Buffer | string | undefined , cb : ( err : Error , token : string ) => void ) : void ;
169
209
170
210
/**
171
211
* asymmetric authentication
172
212
*/
173
213
verify ( token : string , key : PublicKey < this> , footer ?: Buffer | string ) : Promise < string > ;
214
+ verify ( token : string , key : PublicKey < this> , footer : Buffer | string | undefined , cb : ( err : Error , data : string ) => void ) : void ;
174
215
}
175
216
176
217
/**
177
218
* protocol version 1
178
219
*/
179
220
export class V1 implements IProtocol {
180
221
public private ( ) : Promise < PrivateKey < this> > ;
222
+ public private ( cb : ( err : Error , key : PrivateKey < this> ) => void ) : void
223
+
181
224
public symmetric ( ) : Promise < SymmetricKey < this> > ;
182
- public repr ( ) : string ;
225
+ public symmetric ( cb : ( err : Error , key : SymmetricKey < this> ) => void ) : void
226
+
227
+ public repr ( ) : 'v1' ;
183
228
public sklength ( ) : number ;
229
+
184
230
public encrypt ( data : Buffer | string , key : SymmetricKey < this> , footer ?: Buffer | string ) : Promise < string > ;
231
+ public encrypt ( data : Buffer | string , key : SymmetricKey < this> , footer : Buffer | string | undefined , cb : ( err : Error , token : string ) => void ) : void
232
+
185
233
public decrypt ( token : string , key : SymmetricKey < this> , footer ?: Buffer | string ) : Promise < string > ;
234
+ public decrypt ( token : string , key : SymmetricKey < this> , footer : Buffer | string | undefined , cb : ( err : Error , data : string ) => void ) : void ;
235
+
186
236
public sign ( data : Buffer | string , key : PrivateKey < this> , footer ?: Buffer | string ) : Promise < string > ;
237
+ public sign ( data : Buffer | string , key : PrivateKey < this> , footer : Buffer | string | undefined , cb : ( err : Error , token : string ) => void ) : void ;
238
+
187
239
public verify ( token : string , key : PublicKey < this> , footer ?: Buffer | string ) : Promise < string > ;
240
+ public verify ( token : string , key : PublicKey < this> , footer : Buffer | string | undefined , cb : ( err : Error , data : string ) => void ) : void ;
188
241
}
189
242
190
243
/**
191
244
* protocol version 2
192
245
*/
193
246
export class V2 implements IProtocol {
194
247
public private ( ) : Promise < PrivateKey < this> > ;
248
+ public private ( cb : ( err : Error , key : PrivateKey < this> ) => void ) : void
249
+
195
250
public symmetric ( ) : Promise < SymmetricKey < this> > ;
196
- public repr ( ) : string ;
251
+ public symmetric ( cb : ( err : Error , key : SymmetricKey < this> ) => void ) : void
252
+
253
+ public repr ( ) : 'v2' ;
197
254
public sklength ( ) : number ;
255
+
198
256
public encrypt ( data : Buffer | string , key : SymmetricKey < this> , footer ?: Buffer | string ) : Promise < string > ;
257
+ public encrypt ( data : Buffer | string , key : SymmetricKey < this> , footer : Buffer | string | undefined , cb : ( err : Error , token : string ) => void ) : void
258
+
199
259
public decrypt ( token : string , key : SymmetricKey < this> , footer ?: Buffer | string ) : Promise < string > ;
260
+ public decrypt ( token : string , key : SymmetricKey < this> , footer : Buffer | string | undefined , cb : ( err : Error , data : string ) => void ) : void ;
261
+
200
262
public sign ( data : Buffer | string , key : PrivateKey < this> , footer ?: Buffer | string ) : Promise < string > ;
263
+ public sign ( data : Buffer | string , key : PrivateKey < this> , footer : Buffer | string | undefined , cb : ( err : Error , token : string ) => void ) : void ;
264
+
201
265
public verify ( token : string , key : PublicKey < this> , footer ?: Buffer | string ) : Promise < string > ;
266
+ public verify ( token : string , key : PublicKey < this> , footer : Buffer | string | undefined , cb : ( err : Error , data : string ) => void ) : void ;
202
267
}
203
268
}
204
269
0 commit comments