@sswroom/sswr 1.5.5 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/Changelog CHANGED
@@ -1,3 +1,20 @@
1
+ 1.6.0
2
+ -Added data.ByteReader.readInt24/readUInt24
3
+ -Added data.ByteReader.readUTF16
4
+ -Added data.ByteReader.isASCIIText
5
+ -Added data.ByteReader.getU8Arr
6
+ -Added data.ParsedObject
7
+ -Added data.rol32, ror32, shl32, shr32, sar32
8
+ -Added data.arrayBufferEquals
9
+ -Change data.Duration, data.Timestamp, data.TimeInstant to bigint
10
+ -Added cert.js
11
+ -Added certutil.js
12
+ -Added hash.SHA1
13
+ -Added net.getIPv4Name
14
+ -Added text.splitLines
15
+ -Added unit.Count.wellFormat, unit.Count.wellFormatBin
16
+ -Added web.getCacheSize
17
+
1
18
  1.5.5
2
19
  -Fixed web.Dialog in iframe
3
20
  -Fixed GeolocationFilter when using minDistMeter
package/cert.d.ts ADDED
@@ -0,0 +1,411 @@
1
+ import {ASN1Names} from "./certutil";
2
+ import * as data from "./data";
3
+ import * as hash from "./hash";
4
+
5
+ export enum ASN1Type
6
+ {
7
+ X509
8
+ }
9
+
10
+ export enum X509FileType
11
+ {
12
+ Cert,
13
+ Key,
14
+ CertRequest,
15
+ PrivateKey,
16
+ PublicKey,
17
+ PKCS7,
18
+ PKCS12,
19
+ CRL,
20
+ FileList
21
+ }
22
+
23
+ export enum KeyType
24
+ {
25
+ Unknown,
26
+ RSA,
27
+ DSA,
28
+ ECDSA,
29
+ ED25519,
30
+ RSAPublic,
31
+ ECPublic
32
+ }
33
+
34
+ export enum CertValidStatus
35
+ {
36
+ Valid,
37
+ SelfSigned,
38
+ SignatureInvalid,
39
+ Revoked,
40
+ FileFormatInvalid,
41
+ UnknownIssuer,
42
+ Expired,
43
+ UnsupportedAlgorithm
44
+ }
45
+
46
+ export enum AlgType
47
+ {
48
+ Unknown,
49
+ MD2WithRSAEncryption,
50
+ MD5WithRSAEncryption,
51
+ SHA1WithRSAEncryption,
52
+ SHA256WithRSAEncryption,
53
+ SHA384WithRSAEncryption,
54
+ SHA512WithRSAEncryption,
55
+ SHA224WithRSAEncryption,
56
+ ECDSAWithSHA256,
57
+ ECDSAWithSHA384
58
+ }
59
+
60
+ export enum ECName
61
+ {
62
+ Unknown,
63
+ secp256r1,
64
+ secp384r1,
65
+ secp521r1
66
+ }
67
+
68
+ export enum ContentDataType
69
+ {
70
+ Unknown,
71
+ AuthenticatedSafe
72
+ }
73
+
74
+ declare class SignedInfo
75
+ {
76
+ signature: ArrayBuffer;
77
+ payload: ArrayBuffer;
78
+ algType: AlgType;
79
+ }
80
+
81
+ declare class CertNames
82
+ {
83
+ countryName: string;
84
+ stateOrProvinceName: string;
85
+ localityName: string;
86
+ organizationName: string;
87
+ organizationUnitName: string;
88
+ commonName: string;
89
+ emailAddress: string;
90
+ }
91
+
92
+ declare class CertExtensions
93
+ {
94
+ subjectAltName?: string[];
95
+ issuerAltName?: string[];
96
+ subjKeyId?: ArrayBuffer;
97
+ authKeyId?: ArrayBuffer;
98
+ digitalSign: boolean;
99
+ caCert: boolean;
100
+ }
101
+
102
+ export abstract class ASN1Data extends data.ParsedObject
103
+ {
104
+ reader: data.ByteReader;
105
+
106
+ constructor(sourceName: string, objType: string, buff: ArrayBuffer);
107
+
108
+ abstract getASN1Type() : ASN1Type;
109
+ abstract clone(): ASN1Data;
110
+ abstract toString(): string;
111
+ abstract createNames(): ASN1Names;
112
+
113
+ toASN1String(): string | null;
114
+ getASN1Buff(): data.ByteReader;
115
+
116
+ static appendInteger(arr: string[], reader: data.ByteReader, ofst: number, len: number): void;
117
+ }
118
+
119
+ export abstract class X509File extends ASN1Data
120
+ {
121
+ constructor(sourceName: string, objType: string, buff: ArrayBuffer);
122
+
123
+ getASN1Type(): ASN1Type;
124
+ abstract getFileType(): X509FileType;
125
+ abstract toShortName(): string;
126
+
127
+ getCertCount(): number;
128
+ getCertName(index: number): string | null;
129
+ getNewCert(index: number): X509Cert | null;
130
+ abstract isValid(): CertValidStatus;
131
+
132
+ toShortString(): string;
133
+ isSignatureKey(key: X509Key): boolean;
134
+ getSignedInfo(): SignedInfo | null;
135
+
136
+ static isSigned(reader: data.ByteReader, startOfst: number, endOfst: number, path?: string): boolean; // AuthenticationFramework
137
+ static appendSigned(reader: data.ByteReader, startOfst: number, endOfst: number, path?: string, sb: string[], varName?: string): void; // AuthenticationFramework
138
+ static isTBSCertificate(reader: data.ByteReader, startOfst: number, endOfst: number, path?: string): boolean; // AuthenticationFramework
139
+ static appendTBSCertificate(reader: data.ByteReader, startOfst: number, endOfst: number, path?: string, sb: string[], varName?: string): void; // AuthenticationFramework
140
+ static isCertificate(reader: data.ByteReader, startOfst: number, endOfst: number, path?: string): boolean; // AuthenticationFramework
141
+ static appendCertificate(reader: data.ByteReader, startOfst: number, endOfst: number, path?: string, sb: string[], varName?: string): void; // AuthenticationFramework
142
+ static isTBSCertList(reader: data.ByteReader, startOfst: number, endOfst: number, path?: string): boolean; // RFC3280
143
+ static appendTBSCertList(reader: data.ByteReader, startOfst: number, endOfst: number, path?: string, sb: string[], varName?: string): void; // RFC3280
144
+ static isCertificateList(reader: data.ByteReader, startOfst: number, endOfst: number, path?: string): boolean; // RFC3280
145
+ static appendCertificateList(reader: data.ByteReader, startOfst: number, endOfst: number, path?: string, sb: string[], varName?: string): void; // RFC3280
146
+ static isPrivateKeyInfo(reader: data.ByteReader, startOfst: number, endOfst: number, path?: string): boolean; // PKCS-8
147
+ static appendPrivateKeyInfo(reader: data.ByteReader, startOfst: number, endOfst: number, path?: string, sb: string[]): void; // PKCS-8
148
+ static isCertificateRequestInfo(reader: data.ByteReader, startOfst: number, endOfst: number, path?: string): boolean; // PKCS-10
149
+ static appendCertificateRequestInfo(reader: data.ByteReader, startOfst: number, endOfst: number, path?: string, sb: string[]): void; // PKCS-10
150
+ static isCertificateRequest(reader: data.ByteReader, startOfst: number, endOfst: number, path?: string): boolean; // PKCS-10
151
+ static appendCertificateRequest(reader: data.ByteReader, startOfst: number, endOfst: number, path?: string, sb: string[]): void; // PKCS-8
152
+ static isPublicKeyInfo(reader: data.ByteReader, startOfst: number, endOfst: number, path?: string): boolean; // AuthenticationFramework
153
+ static appendPublicKeyInfo(reader: data.ByteReader, startOfst: number, endOfst: number, path?: string, sb: string[]): void; // AuthenticationFramework
154
+ static isContentInfo(reader: data.ByteReader, startOfst: number, endOfst: number, path?: string): boolean; // RFC2315 / PKCS7
155
+ static appendContentInfo(reader: data.ByteReader, startOfst: number, endOfst: number, path?: string, sb: string[], varName?: string, dataType: ContentDataType): void; // RFC2315 / PKCS7
156
+ static isPFX(reader: data.ByteReader, startOfst: number, endOfst: number, path?: string): boolean; // PKCS12
157
+ static appendPFX(reader: data.ByteReader, startOfst: number, endOfst: number, path?: string, sb: string[], varName?: string): void; // PKCS12
158
+
159
+ static appendVersion(reader: data.ByteReader, startOfst: number, endOfst: number, path?: string, sb: string[]): void; // AuthenticationFramework
160
+ static appendAlgorithmIdentifier(reader: data.ByteReader, startOfst: number, endOfst: number, sb: string[], varName?: string, pubKey: boolean): KeyType; // PKCS-5
161
+ static appendValidity(reader: data.ByteReader, startOfst: number, endOfst: number, sb: string[], varName?: string): void; // AuthenticationFramework
162
+ static appendSubjectPublicKeyInfo(reader: data.ByteReader, startOfst: number, endOfst: number, sb: string[], varName?: string): void; // AuthenticationFramework
163
+ static appendName(reader: data.ByteReader, startOfst: number, endOfst: number, sb: string[], varName?: string): void; // InformationFramework
164
+ static appendRelativeDistinguishedName(reader: data.ByteReader, startOfst: number, endOfst: number, sb: string[], varName?: string): void; // InformationFramework
165
+ static appendAttributeTypeAndDistinguishedValue(reader: data.ByteReader, startOfst: number, endOfst: number, sb: string[], varName?: string): void; // InformationFramework
166
+ static appendCRLExtensions(reader: data.ByteReader, startOfst: number, endOfst: number, sb: string[], varName?: string): void;
167
+ static appendCRLExtension(reader: data.ByteReader, startOfst: number, endOfst: number, sb: string[], varName?: string): void;
168
+ static appendMSOSVersion(reader: data.ByteReader, startOfst: number, endOfst: number, sb: string[], varName?: string): void;
169
+ static appendMSRequestClientInfo(reader: data.ByteReader, startOfst: number, endOfst: number, sb: string[], varName?: string): void;
170
+ static appendMSEnrollmentCSPProvider(reader: data.ByteReader, startOfst: number, endOfst: number, sb: string[], varName?: string): void;
171
+ static appendGeneralNames(reader: data.ByteReader, startOfst: number, endOfst: number, sb: string[], varName?: string): void;
172
+ static appendGeneralName(reader: data.ByteReader, startOfst: number, endOfst: number, path?: string, sb: string[], varName?: string): boolean;
173
+ static appendDistributionPoint(reader: data.ByteReader, startOfst: number, endOfst: number, path?: string, sb: string[], varName?: string): boolean;
174
+ static appendDistributionPointName(reader: data.ByteReader, startOfst: number, endOfst: number, sb: string[], varName?: string): void;
175
+ static appendPolicyInformation(reader: data.ByteReader, startOfst: number, endOfst: number, path?: string, sb: string[], varName?: string): boolean;
176
+ static appendPKCS7SignedData(reader: data.ByteReader, startOfst: number, endOfst: number, sb: string[], varName?: string): void; // RFC2315
177
+ static appendPKCS7DigestAlgorithmIdentifiers(reader: data.ByteReader, startOfst: number, endOfst: number, sb: string[], varName?: string): void; // RFC2315
178
+ static appendPKCS7SignerInfos(reader: data.ByteReader, startOfst: number, endOfst: number, sb: string[], varName?: string): void; // RFC2315
179
+ static appendPKCS7SignerInfo(reader: data.ByteReader, startOfst: number, endOfst: number, sb: string[], varName?: string): void; // RFC2315
180
+ static appendIssuerAndSerialNumber(reader: data.ByteReader, startOfst: number, endOfst: number, sb: string[], varName?: string): void; // RFC2315
181
+ static appendPKCS7Attributes(reader: data.ByteReader, startOfst: number, endOfst: number, sb: string[], varName?: string): void; // RFC2315
182
+ static appendMacData(reader: data.ByteReader, startOfst: number, endOfst: number, path?: string, sb: string[], varName?: string): boolean; // PKCS12
183
+ static appendDigestInfo(reader: data.ByteReader, startOfst: number, endOfst: number, sb: string[], varName?: string): void; // RFC2315 / PKCS7
184
+ static appendData(reader: data.ByteReader, startOfst: number, endOfst: number, sb: string[], varName?: string, dataType: ContentDataType): void;
185
+ static appendEncryptedData(reader: data.ByteReader, startOfst: number, endOfst: number, sb: string[], varName?: string, dataType: ContentDataType): void;
186
+ static appendAuthenticatedSafe(reader: data.ByteReader, startOfst: number, endOfst: number, sb: string[], varName?: string): void; //PKCS12
187
+ static appendEncryptedContentInfo(reader: data.ByteReader, startOfst: number, endOfst: number, sb: string[], varName?: string, dataType: ContentDataType): void;
188
+
189
+ static nameGetByOID(reader: data.ByteReader, startOfst: number, endOfst: number, oidText: string): string | null;
190
+ static nameGetCN(reader: data.ByteReader, startOfst: number, endOfst: number): string | null;
191
+ static namesGet(reader: data.ByteReader, startOfst: number, endOfst: number): CertNames;
192
+ static extensionsGet(reader: data.ByteReader, startOfst: number, endOfst: number): CertExtensions;
193
+ static extensionsGetCRLDistributionPoints(reader: data.ByteReader, startOfst: number, endOfst: number): string[];
194
+ static distributionPointAdd(reader: data.ByteReader, startOfst: number, endOfst: number, distPoints: string[]): boolean;
195
+ static publicKeyGetNew(reader: data.ByteReader, startOfst: number, endOfst: number): X509Key | null;
196
+
197
+ static keyGetLeng(reader: data.ByteReader, startOfst: number, endOfst: number, keyType: KeyType): number;
198
+ static keyTypeFromOID(oid: ArrayBuffer, pubKey: boolean): KeyType;
199
+ static algorithmIdentifierGet(reader: data.ByteReader, startOfst: number, endOfst: number): AlgType;
200
+ }
201
+
202
+ export class X509Cert extends X509File
203
+ {
204
+ constructor(sourceName: string, buff: ArrayBuffer);
205
+
206
+ getSubjectCN(): string | null;
207
+ getIssuerCN(): string | null;
208
+ setDefaultSourceName(): void;
209
+
210
+ getFileType(): X509FileType;
211
+ toShortName(): string;
212
+
213
+ getCertCount(): number;
214
+ getCertName(index: number): string | null;
215
+ getNewCert(index: number): X509Cert | null;
216
+ isValid(): CertValidStatus;
217
+
218
+ clone(): ASN1Data;
219
+ createX509Cert(): X509Cert;
220
+ toString(): string;
221
+ createNames(): ASN1Names;
222
+
223
+ getIssuerNames(): CertNames | null;
224
+ getSubjNames(): CertNames | null;
225
+ getExtensions(): CertExtensions | null;
226
+ getNewPublicKey(): X509Key | null;
227
+ getKeyId(): ArrayBuffer | null;
228
+ getNotBefore(): data.Timestamp | null;
229
+ getNotAfter(): data.Timestamp | null;
230
+ domainValid(domain: string): boolean;
231
+ isSelfSigned(): boolean;
232
+ getCRLDistributionPoints(): string[];
233
+
234
+ getIssuerNamesSeq(): ArrayBuffer | null;
235
+ getSerialNumber(): ArrayBuffer | null;
236
+ }
237
+
238
+ export class X509CertReq extends X509File
239
+ {
240
+ constructor(sourceName: string, buff: ArrayBuffer);
241
+
242
+ getFileType(): X509FileType;
243
+ toShortName(): string;
244
+ isValid(): CertValidStatus;
245
+
246
+ clone(): X509CertReq;
247
+ toString(): string;
248
+ createNames(): ASN1Names;
249
+
250
+ getNames(): CertNames;
251
+ getExtensions(): CertExtensions;
252
+ getNewPublicKey(): X509Key;
253
+ getKeyId(): ArrayBuffer | null; //20 bytes
254
+ }
255
+
256
+ export class X509Key extends X509File
257
+ {
258
+ constructor(sourceName: string, buff: ArrayBuffer, keyType: KeyType);
259
+ getFileType(): X509FileType;
260
+ toShortName(): string;
261
+ isValid(): CertValidStatus;
262
+ clone(): X509Key;
263
+ toString(): string;
264
+ createNames(): ASN1Names;
265
+ getKeyType(): KeyType;
266
+ getKeySizeBits(): number;
267
+ isPrivateKey() : boolean;
268
+
269
+ createPublicKey(): X509Key | null;
270
+ getKeyId(): ArrayBuffer | null;
271
+
272
+ getRSAModulus(): ArrayBuffer | null;
273
+ getRSAPublicExponent(): ArrayBuffer | null;
274
+ getRSAPrivateExponent(): ArrayBuffer | null;
275
+ getRSAPrime1(): ArrayByffer | null;
276
+ getRSAPrime2(): ArrayBuffer | null;
277
+ getRSAExponent1(): ArrayBuffer | null;
278
+ getRSAExponent2(): ArrayBuffer | null;
279
+ getRSACoefficient(): ArrayBuffer | null;
280
+
281
+ getECPrivate(): ArrayBuffer | null;
282
+ getECPublic(): ArrayBuffer | null;
283
+ getECName(): ECName;
284
+
285
+ static fromECPublicKey(buff: ArrayBuffer, paramOID: ArrayBuffer): X509Key;
286
+ }
287
+
288
+ export class X509PrivKey extends X509File
289
+ {
290
+ constructor(sourceName: string, buff: ArrayBuffer);
291
+
292
+ getFileType(): X509FileType;
293
+ toShortName(): string;
294
+ isValid(): CertValidStatus;
295
+
296
+ clone(): X509PrivKey;
297
+ toString(): string;
298
+ createNames(): ASN1Names;
299
+
300
+ getKeyType(): KeyType;
301
+ createKey(): X509Key;
302
+
303
+ static createFromKeyBuff(keyType: KeyType, buff: ArrayBuffer, sourceName: string): X509PrivKey;
304
+ static createFromKey(key: X509Key): X509PrivKey;
305
+ }
306
+
307
+ export class X509PubKey extends X509File
308
+ {
309
+ constructor(sourceName: string, buff: ArrayBuffer);
310
+
311
+ getFileType(): X509FileType;
312
+ toShortName(): string;
313
+ isValid(): CertValidStatus;
314
+ clone(): X509PubKey;
315
+ toString(): string;
316
+ createNames(): ASN1Names;
317
+
318
+ createKey(): X509Key;
319
+
320
+ static createFromKeyBuff(keyType: KeyType, buff: ArrayBuffer, sourceName: string): X509PubKey;
321
+ static createFromKey(key: X509Key): X509PubKey;
322
+ }
323
+
324
+ export class X509PKCS7 extends X509File
325
+ {
326
+ constructor(sourceName: string, buff: ArrayBuffer);
327
+
328
+ getFileType(): X509FileType;
329
+ toShortName(): string;
330
+
331
+ getCertCount(): number;
332
+ getCertName(index: number): string;
333
+ getNewCert(index: number): X509Cert;
334
+ isValid(): CertValidStatus;
335
+
336
+ clone(): X509PKCS7;
337
+ toString(): string;
338
+ createNames(): ASN1Names;
339
+
340
+ isSignData(): boolean;
341
+ getDigestType(): hash.HashType;
342
+ getMessageDigest(): ArrayBuffer;
343
+ getEncryptedDigest(): ArrayBuffer;
344
+ }
345
+
346
+ export class X509PKCS12 extends X509File
347
+ {
348
+ constructor(sourceName: string, buff: ArrayBuffer);
349
+
350
+ getFileType(): X509FileType;
351
+ toShortName(): string;
352
+ getCertCount(): number;
353
+ getCertName(index: number): string;
354
+ getNewCert(index: number): X509Cert;
355
+ isValid(): CertValidStatus;
356
+
357
+ clone(): X509PKCS12;
358
+ toString(): string;
359
+ createNames(): ASN1Names;
360
+ }
361
+
362
+ export class X509FileList extends X509File
363
+ {
364
+ fileList: X509File[];
365
+
366
+ constructor(sourceName: string, cert: X509Cert);
367
+
368
+ getFileType(): X509FileType;
369
+ toShortName(): string;
370
+
371
+ getCertCount(): number;
372
+ getCertName(index: number): string | null;
373
+ getNewCert(index: number): X509Cert | null;
374
+ isValid(): CertValidStatus;
375
+
376
+ clone(): X509FileList;
377
+ createX509Cert(): X509Cert;
378
+ toString(): string;
379
+ createNames(): ASN1Names;
380
+
381
+ addFile(file: X509File): void;
382
+ getFileCount(): number;
383
+ getFile(index: number): X509File;
384
+ setDefaultSourceName(): void;
385
+ }
386
+
387
+ export class X509CRL extends X509File
388
+ {
389
+ constructor(sourceName: string, buff: ArrayBuffer);
390
+
391
+ getFileType(): X509FileType;
392
+ toShortName(): string;
393
+ isValid(): CertValidStatus;
394
+
395
+ clone(): X509CRL;
396
+ toString(): string;
397
+ createNames(): ASN1Names;
398
+
399
+ hasVersion(): boolean;
400
+ getIssuerCN(): string | null;
401
+ getThisUpdate(): data.Timestamp | null;
402
+ getNextUpdate(): data.Timestamp | null;
403
+ isRevoked(cert: X509Cert): boolean;
404
+ }
405
+
406
+ export function algTypeGetHash(algType: AlgType): hash.HashType;
407
+ export function fileTypeGetName(fileType: X509FileType): string;
408
+ export function keyTypeGetName(keyType: KeyType): string;
409
+ export function ecNameGetName(ecName: ECName): string;
410
+ export function ecNameGetOID(ecName: ECName): string;
411
+ export function ecNameFromOID(buff: ArrayBuffer): ECName;