gws-client 0.5.2 → 0.5.3

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.
Files changed (2) hide show
  1. package/README.md +626 -1
  2. package/package.json +3 -2
package/README.md CHANGED
@@ -1 +1,626 @@
1
- # gws-client
1
+ ## 简介
2
+
3
+ 用于web前端调用GZCA数字证书客户端UKEY证书应用接口,调用前需确保已安装GZCA数字证书客户端并启动,支持TypeScript。
4
+
5
+ ## 快速开始
6
+
7
+ ### 安装
8
+
9
+ #### 使用包管理器
10
+
11
+ Install with npm
12
+
13
+ ```sh
14
+ npm install gws-client --save
15
+ ```
16
+
17
+ Install with yarn
18
+
19
+ ```sh
20
+ yarn add gws-client
21
+ ```
22
+
23
+ Install with pnpm
24
+
25
+ ```sh
26
+ pnpm add gws-client
27
+ ```
28
+
29
+ ### 使用
30
+
31
+ #### ES Module
32
+
33
+ 使用包管理器
34
+
35
+ ```ts
36
+ import { GwsService } from "gws-client";
37
+ const gwsService = new GwsService(gwsServiceConfig);
38
+ ```
39
+
40
+ ```ts
41
+ import { createService } from "gws-client";
42
+ async function foo() {
43
+ const gwsService = await createService(gwsServiceConfig);
44
+ }
45
+ ```
46
+
47
+ 使用本地文件
48
+
49
+ ```ts
50
+ import { GwsService } from "./index.es.js"; // SDK文件地址
51
+ const gwsService = new GwsService(gwsServiceConfig);
52
+ ```
53
+
54
+ ```ts
55
+ import { createService } from "./index.es.js"; // SDK文件地址
56
+ async function foo() {
57
+ const gwsService = await createService(gwsServiceConfig);
58
+ }
59
+ ```
60
+
61
+ #### UMD
62
+
63
+ ```html
64
+ <script src="./index.umd.js"></script>
65
+ ```
66
+
67
+ ```ts
68
+ const gwsService = new GWS_CLIENT.GwsService(gwsServiceConfig);
69
+ ```
70
+
71
+ ```ts
72
+ async function foo() {
73
+ const gwsService = await GWS_CLIENT.createService(gwsServiceConfig);
74
+ }
75
+ ```
76
+
77
+ #### 实例化参数说明
78
+
79
+ | 属性 | 说明 | 类型 | 默认值 |
80
+ | ------------- | -------------------------- | ------------------------------------- | ------- |
81
+ | isRememberPin | 可选,是否记住pin码 | `Boolean` | `false` |
82
+ | pinPolicy | 可选,口令安全策略 | `0` \| `1`\| `2`\| `3` | `0` |
83
+ | onOpen | 可选,socket连接成功回调 | `(event: Event) => void` | -- |
84
+ | onError | 可选,socket错误时回调 | `(event: Event) => void` | -- |
85
+ | onClose | 可选,socket关闭时回调 | `(event: Event) => void` | -- |
86
+ | onMessage | 可选,socket收到消息时回调 | `(data: Record<string, any>) => void` | -- |
87
+ | onUkeyEvent | 可选,Ukey插入拔出时回调 | `(data: Record<string, any>) => void` | -- |
88
+
89
+ #### 示例
90
+
91
+ 链式调用
92
+
93
+ ```ts
94
+ // PKCS1签名
95
+ import { createService } from "gws-client";
96
+ function pkcs1Sign() {
97
+ createService(gwsServiceConfig).then((gwsService) => {
98
+ gwsService
99
+ .pkcs1Sign({ Data: "hello world" })
100
+ .then((res) => {
101
+ console.log("签名值", res);
102
+ })
103
+ .catch((error) => {
104
+ console.log("签名失败原因", error);
105
+ });
106
+ });
107
+ }
108
+ ```
109
+
110
+ 同步调用
111
+
112
+ ```ts
113
+ // PKCS1签名
114
+ import { createService } from "gws-client";
115
+ async function pkcs1Sign() {
116
+ try {
117
+ const gwsService = await createService();
118
+ const res = await gwsService.pkcs1Sign({ Data: "hello world" });
119
+ console.log("签名值", res);
120
+ } catch (error) {
121
+ console.log("签名失败原因", error);
122
+ }
123
+ }
124
+ ```
125
+
126
+ ## API接口
127
+
128
+ ### 销毁
129
+
130
+ 断开socket连接
131
+
132
+ #### 接口名称
133
+
134
+ destroy
135
+
136
+ #### 函数签名
137
+
138
+ ```ts
139
+ type Destroy = () => void;
140
+ ```
141
+
142
+ ### 重启
143
+
144
+ 重新连接socket,可重新传入新配置
145
+
146
+ #### 接口名称
147
+
148
+ restart
149
+
150
+ #### 函数签名
151
+
152
+ ```ts
153
+ type Restart = (config?: GwsServiceConfigType) => void;
154
+ ```
155
+
156
+ ### PKCS1签名
157
+
158
+ PKCS1签名,返回签名值
159
+
160
+ #### 接口名称
161
+
162
+ pkcs1Sign
163
+
164
+ #### 函数签名
165
+
166
+ ```ts
167
+ type Pkcs1Sign = (params: { Data: string }) => Promise<string>;
168
+ ```
169
+
170
+ #### 参数说明
171
+
172
+ | 属性 | 说明 | 类型 | 默认值 |
173
+ | ---- | ---------------- | -------- | ------ |
174
+ | Data | 必填,待签名原文 | `String` | -- |
175
+
176
+ ### PKCS1验签
177
+
178
+ PKCS1验签,返回验签结果,`true`为验签成功,验签失败时返回`Promise.reject`
179
+
180
+ #### 接口名称
181
+
182
+ pkcs1VerifySignature
183
+
184
+ #### 函数签名
185
+
186
+ ```ts
187
+ type Pkcs1VerifySignature = (params: {
188
+ CertB64?: string;
189
+ Data: string;
190
+ SignData: string;
191
+ }) => Promise<boolean>;
192
+ ```
193
+
194
+ #### 参数说明
195
+
196
+ | 属性 | 说明 | 类型 | 默认值 |
197
+ | -------- | -------------------------- | -------- | ------ |
198
+ | Data | 必填,待签名原文 | `String` | -- |
199
+ | SignData | 必填,Base64编码的签名值 | `String` | -- |
200
+ | CertB64 | 可选,Base64编码的签名证书 | `String` | -- |
201
+
202
+ ### PKCS1 B64签名
203
+
204
+ PKCS1 base64签名,返回签名值
205
+
206
+ #### 接口名称
207
+
208
+ pkcs1Base64Sign
209
+
210
+ #### 函数签名
211
+
212
+ ```ts
213
+ type Pkcs1Base64Sign = (params: {
214
+ Data?: string;
215
+ DataB64?: string;
216
+ }) => Promise<string>;
217
+ ```
218
+
219
+ #### 参数说明
220
+
221
+ | 属性 | 说明 | 类型 | 默认值 |
222
+ | ------- | ------------------------------------------------------------- | -------- | ------ |
223
+ | Data | 与DataB64二选一,待签名原文 | `String` | -- |
224
+ | DataB64 | 与Data二选一 , Base64编码的待签名原文,同时存在时使用DataB64 | `String` | -- |
225
+
226
+ ### PKCS1 B64验签
227
+
228
+ PKCS1 base64验签,返回验签结果,`true`为验签成功,验签失败时返回`Promise.reject`
229
+
230
+ #### 接口名称
231
+
232
+ pkcs1Base64VerifySignature
233
+
234
+ #### 函数签名
235
+
236
+ ```ts
237
+ type Pkcs1Base64VerifySignature = (params: {
238
+ Data?: string;
239
+ DataB64?: string;
240
+ SignData: string;
241
+ CertB64?: string;
242
+ }) => Promise<boolean>;
243
+ ```
244
+
245
+ #### 参数说明
246
+
247
+ | 属性 | 说明 | 类型 | 默认值 |
248
+ | -------- | ------------------------------------------------------------- | -------- | ------ |
249
+ | Data | 与DataB64二选一,待签名原文 | `String` | -- |
250
+ | DataB64 | 与Data二选一 , Base64编码的待签名原文,同时存在时使用DataB64 | `String` | -- |
251
+ | SignData | 必填,Base64编码的签名值 | `String` | -- |
252
+ | CertB64 | 可选,Base64编码的签名证书 | `String` | -- |
253
+
254
+ ### PKCS1哈希签名
255
+
256
+ PKCS1哈希签名,返回签名值
257
+
258
+ #### 接口名称
259
+
260
+ pkcs1HashSign
261
+
262
+ ```ts
263
+ type Pkcs1HashSign = (params: {
264
+ DataB64: string;
265
+ HashAlg?: string;
266
+ }) => Promise<string>;
267
+ ```
268
+
269
+ #### 参数说明
270
+
271
+ | 属性 | 说明 | 类型 | 默认值 |
272
+ | ------- | -------------------------------------- | -------------------------- | ------ |
273
+ | DataB64 | 必填,Base64编码带签名原文的预处理哈希 | `String` | -- |
274
+ | HashAlg | 可选,哈希算法 | `sm3` \| `sha1`\| `sha256` | `sm3` |
275
+
276
+ ### PKCS1哈希验签
277
+
278
+ PKCS1哈希验签,返回验签结果,`true`为验签成功,验签失败时返回`Promise.reject`
279
+
280
+ #### 接口名称
281
+
282
+ pkcs1Base64VerifySignature
283
+
284
+ #### 函数签名
285
+
286
+ ```ts
287
+ type Pkcs1Base64VerifySignature = (params: {
288
+ DataB64: string;
289
+ SignData: string;
290
+ CertB64?: string;
291
+ HashAlg?: string;
292
+ }) => Promise<boolean>;
293
+ ```
294
+
295
+ #### 参数说明
296
+
297
+ | 属性 | 说明 | 类型 | 默认值 |
298
+ | -------- | ---------------------------------------- | -------------------------- | ------ |
299
+ | DataB64 | 必填,Base64编码的待签名的原文预处理哈希 | `String` | -- |
300
+ | SignData | 必填,签名值 | `String` | -- |
301
+ | CertB64 | 可选,Base64编码的签名证书 | `String` | -- |
302
+ | HashAlg | 可选,哈希算法 | `sm3` \| `sha1`\| `sha256` | `sm3` |
303
+
304
+ ### PKCS7签名
305
+
306
+ PKCS7签名,返回签名值
307
+
308
+ #### 接口名称
309
+
310
+ pkcs7Sign
311
+
312
+ #### 函数签名
313
+
314
+ ```ts
315
+ type Pkcs7Sign = (params: {
316
+ Data?: string;
317
+ DataB64?: string;
318
+ IsDetached: string;
319
+ }) => Promise<string>;
320
+ ```
321
+
322
+ #### 参数说明
323
+
324
+ | 属性 | 说明 | 类型 | 默认值 |
325
+ | ---------- | ------------------------------------------------------------- | ---------- | ------ |
326
+ | Data | 与DataB64二选一,待签名原文 | `String` | -- |
327
+ | DataB64 | 与Data二选一 , Base64编码的待签名原文,同时存在时使用DataB64 | `String` | -- |
328
+ | IsDetached | 必填,Y为detach,N为attach,attach模式签名值带了原文 | `Y` \| `N` | -- |
329
+
330
+ ### PKCS7验签
331
+
332
+ PKCS7验签,返回验签结果,`true`为验签成功,验签失败时返回`Promise.reject`
333
+
334
+ #### 接口名称
335
+
336
+ pkcs7VerifySignature
337
+
338
+ #### 函数签名
339
+
340
+ ```ts
341
+ type Pkcs7VerifySignature = (params: {
342
+ Data?: string;
343
+ DataB64?: string;
344
+ SignData: string;
345
+ }) => Promise<string>;
346
+ ```
347
+
348
+ #### 参数说明
349
+
350
+ | 属性 | 说明 | 类型 | 默认值 |
351
+ | -------- | ------------------------------------------------------------- | -------- | ------ |
352
+ | Data | 与DataB64二选一,待签名原文 | `String` | -- |
353
+ | DataB64 | 与Data二选一 , Base64编码的待签名原文,同时存在时使用DataB64 | `String` | -- |
354
+ | SignData | 必填,签名值 | `String` | -- |
355
+
356
+ ### base64编码
357
+
358
+ base64编码,返回base64编码内容
359
+
360
+ #### 接口名称
361
+
362
+ base64Encode
363
+
364
+ #### 函数签名
365
+
366
+ ```ts
367
+ type Base64Encode = (params: { Data: string }) => string;
368
+ ```
369
+
370
+ #### 参数说明
371
+
372
+ | 属性 | 说明 | 类型 | 默认值 |
373
+ | ---- | ---------------------- | -------- | ------ |
374
+ | Data | 必填,base64待编码内容 | `String` | -- |
375
+
376
+ ### base64解码
377
+
378
+ base64解码,返回base64解码内容
379
+
380
+ #### 接口名称
381
+
382
+ base64Decode
383
+
384
+ #### 函数签名
385
+
386
+ ```ts
387
+ type Base64Decode = (params: { DataB64: string }) => string;
388
+ ```
389
+
390
+ #### 参数说明
391
+
392
+ | 属性 | 说明 | 类型 | 默认值 |
393
+ | ------- | ---------------------- | -------- | ------ |
394
+ | DataB64 | 必填,base64待解码内容 | `String` | -- |
395
+
396
+ ### SM3哈希
397
+
398
+ SM3哈希,返回SM3哈希值
399
+
400
+ #### 接口名称
401
+
402
+ sm3Hash
403
+
404
+ #### 函数签名
405
+
406
+ ```ts
407
+ type Sm3Hash = (params: { Data: string }) => Promise<string>;
408
+ ```
409
+
410
+ #### 参数说明
411
+
412
+ | 属性 | 说明 | 类型 | 默认值 |
413
+ | ---- | ------------------------ | -------- | ------ |
414
+ | Data | 必填,待计算杂凑值的原文 | `String` | -- |
415
+
416
+ ### SM3 B64哈希
417
+
418
+ SM3 B64哈希
419
+
420
+ #### 接口名称
421
+
422
+ sm3HexHash
423
+
424
+ #### 函数签名
425
+
426
+ ```ts
427
+ type Sm3HexHash = (params: { DataB64: string }) => Promise<string>;
428
+ ```
429
+
430
+ #### 参数说明
431
+
432
+ | 属性 | 说明 | 类型 | 默认值 |
433
+ | ------- | ------------------------------ | -------- | ------ |
434
+ | DataB64 | 必填,待计算杂凑值的原文base64 | `String` | -- |
435
+
436
+ ### SM3 文件哈希
437
+
438
+ SM3 文件哈希
439
+
440
+ #### 接口名称
441
+
442
+ sm3FileHash
443
+
444
+ #### 函数签名
445
+
446
+ ```ts
447
+ type Sm3FileHash = (params: { SrcFile: string }) => Promise<string>;
448
+ ```
449
+
450
+ #### 参数说明
451
+
452
+ | 属性 | 说明 | 类型 | 默认值 |
453
+ | ------- | ------------------------------------------------------- | -------- | ------ |
454
+ | SrcFile | 必填,待计算杂凑值的本地文件全路径。建议使用正斜杠(/) | `String` | -- |
455
+
456
+ ### SM3哈希加密
457
+
458
+ SM3哈希加密
459
+
460
+ #### 接口名称
461
+
462
+ sm3HashEncryption
463
+
464
+ #### 函数签名
465
+
466
+ ```ts
467
+ type Sm3HashEncryption = (params: {
468
+ Data?: string;
469
+ DataB64?: string;
470
+ Key?: string;
471
+ KeyB64?: string;
472
+ }) => Promise<string>;
473
+ ```
474
+
475
+ #### 参数说明
476
+
477
+ | 属性 | 说明 | 类型 | 默认值 |
478
+ | ------- | ------------------------------------------------------------- | -------- | ------ |
479
+ | Data | 与DataB64二选一,待加密原文 | `String` | -- |
480
+ | DataB64 | 与Data二选一 , Base64编码的待加密原文,同时存在时使用DataB64 | `String` | -- |
481
+ | Key | 与KeyB64二选一,密钥 | `String` | -- |
482
+ | KeyB64 | 与Key二选一 , base64编码的密钥,同时存在时使用KeyB64 | `String` | -- |
483
+
484
+ ### PKCS7加密
485
+
486
+ PKCS7加密,返回加密字符串
487
+
488
+ #### 接口名称
489
+
490
+ pkcs7Encryption
491
+
492
+ #### 函数签名
493
+
494
+ ```ts
495
+ type Pkcs7Encryption = (params: {
496
+ Data?: string;
497
+ DataB64?: string;
498
+ Key: string;
499
+ }) => Promise<string>;
500
+ ```
501
+
502
+ #### 参数说明
503
+
504
+ | 属性 | 说明 | 类型 | 默认值 |
505
+ | ----------- | ------------------------------------------------------------- | -------- | ------ |
506
+ | Data | 与DataB64二选一,待加密原文 | `String` | -- |
507
+ | DataB64 | 与Data二选一 , Base64编码的待加密原文,同时存在时使用DataB64 | `String` | -- |
508
+ | CertB64List | 必填,加密证书base64,多个以\|连接 | `String` | -- |
509
+
510
+ ### PKCS7解密
511
+
512
+ PKCS7解密,返回解密字符串
513
+
514
+ #### 接口名称
515
+
516
+ pkcs7Decryption
517
+
518
+ #### 函数签名
519
+
520
+ ```ts
521
+ type Pkcs7Decryption = (params: {
522
+ DataB64: string;
523
+ shouldDecodeBase64?: boolean;
524
+ }) => Promise<string>;
525
+ ```
526
+
527
+ #### 参数说明
528
+
529
+ | 属性 | 说明 | 类型 | 默认值 |
530
+ | ------------------ | ------------------------ | --------- | ------ |
531
+ | DataB64 | 必填,待解密原文 | `String` | -- |
532
+ | shouldDecodeBase64 | 可选,是否需要base64解码 | `Boolean` | -- |
533
+
534
+ ### 非对称加密
535
+
536
+ 非对称加密,返回加密字符串
537
+
538
+ #### 接口名称
539
+
540
+ asymmetricDecryption
541
+
542
+ #### 函数签名
543
+
544
+ ```ts
545
+ type AsymmetricDecryption = (params: { Data: string }) => Promise<string>;
546
+ ```
547
+
548
+ #### 参数说明
549
+
550
+ | 属性 | 说明 | 类型 | 默认值 |
551
+ | ------- | ----------------- | -------- | ------ |
552
+ | Data | 必填,待解密原文 | `String` | -- |
553
+ | CertB64 | 可选,加密证书B64 | `String` | -- |
554
+
555
+ ### 非对称解密
556
+
557
+ 非对称解密,返回解密字符串
558
+
559
+ #### 接口名称
560
+
561
+ asymmetricDecryption
562
+
563
+ #### 函数签名
564
+
565
+ ```ts
566
+ type AsymmetricDecryption = (params: { Data: string }) => Promise<string>;
567
+ ```
568
+
569
+ #### 参数说明
570
+
571
+ | 属性 | 说明 | 类型 | 默认值 |
572
+ | ---- | ---------------- | -------- | ------ |
573
+ | Data | 必填,待解密原文 | `String` | -- |
574
+
575
+ ### SM4对称加密
576
+
577
+ SM4对称加密,返回加密字符串,加密密钥
578
+
579
+ #### 接口名称
580
+
581
+ sm4Encryption
582
+
583
+ #### 函数签名
584
+
585
+ ```ts
586
+ type Sm4Encryption = (params: {
587
+ Data: string;
588
+ }) => Promise<{ Data: string; KeyB64: string }>;
589
+ ```
590
+
591
+ #### 参数说明
592
+
593
+ | 属性 | 说明 | 类型 | 默认值 |
594
+ | ---- | ---------------- | -------- | ------ |
595
+ | Data | 必填,待加密原文 | `String` | -- |
596
+
597
+ #### 返回参数说明
598
+
599
+ | 属性 | 说明 | 类型 |
600
+ | ------ | -------------- | -------- |
601
+ | Data | 加密密文 | `String` |
602
+ | KeyB64 | Base64对称密钥 | `String` |
603
+
604
+ ### SM4对称解密
605
+
606
+ SM4对称解密,返回解密字符串
607
+
608
+ #### 接口名称
609
+
610
+ sm4Decryption
611
+
612
+ #### 函数签名
613
+
614
+ ```ts
615
+ type Sm4Decryption = (params: {
616
+ Data: string;
617
+ KeyB64: string;
618
+ }) => Promise<string>;
619
+ ```
620
+
621
+ #### 参数说明
622
+
623
+ | 属性 | 说明 | 类型 | 默认值 |
624
+ | ------ | -------------------- | -------- | ------ |
625
+ | Data | 必填,待解密原文 | `String` | -- |
626
+ | KeyB64 | 必填,Base64对称密钥 | `String` | -- |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gws-client",
3
- "version": "0.5.2",
3
+ "version": "0.5.3",
4
4
  "type": "module",
5
5
  "module": "dist/index.es.js",
6
6
  "main": "dist/index.cjs.js",
@@ -16,7 +16,8 @@
16
16
  },
17
17
  "author": "gzca",
18
18
  "files": [
19
- "dist"
19
+ "dist",
20
+ "README.md"
20
21
  ],
21
22
  "publishConfig": {
22
23
  "registry": "https://registry.npmjs.org/"