easy3wui 1.5.21 → 1.5.24
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/lib/Easy3wCaHandler/index.js +130 -24
- package/package.json +1 -1
|
@@ -23,10 +23,15 @@ function Easy3wCaHandler(serverURL) {
|
|
|
23
23
|
if (url.charAt(url.length - 1) === '/') {
|
|
24
24
|
url = url.substring(0, url.length - 1);
|
|
25
25
|
}
|
|
26
|
+
var protocol = url.substring(0, url.indexOf(':'));
|
|
26
27
|
var host = url.substring(url.indexOf(':') + 1);
|
|
27
28
|
var sender = getId();
|
|
28
29
|
var receiver = sender + '_server';
|
|
29
|
-
var
|
|
30
|
+
var wsprotocol = 'ws';
|
|
31
|
+
if (protocol.toUpperCase() === 'HTTPS') {
|
|
32
|
+
wsprotocol = 'wss';
|
|
33
|
+
}
|
|
34
|
+
var urlSignatureSocket = wsprotocol + ':' + host + '/signatureSocket/' + sender;
|
|
30
35
|
var urlCASign = url + '/TWCA/signMessageNew.html?listenerno=' + receiver;
|
|
31
36
|
var caIframe = document.getElementById('casigniframe');
|
|
32
37
|
if (caIframe) {
|
|
@@ -54,15 +59,25 @@ function Easy3wCaHandler(serverURL) {
|
|
|
54
59
|
return null;
|
|
55
60
|
}
|
|
56
61
|
// 签名回调
|
|
57
|
-
var
|
|
62
|
+
var signCallbackFunc = void 0;
|
|
63
|
+
// 根据证书名称签名回调
|
|
64
|
+
var signByCNCallbackFunc = void 0;
|
|
58
65
|
// 验签回调
|
|
59
|
-
var
|
|
66
|
+
var verifyCallbackFunc = void 0;
|
|
60
67
|
// 获取公钥回调
|
|
61
68
|
var getPublicKeyCallbackFunc = void 0;
|
|
69
|
+
// 根据证书名称获取公钥回调
|
|
70
|
+
var getPublicKeyByCNCallbackFunc = void 0;
|
|
62
71
|
// 获取供方名称
|
|
63
72
|
var getSupplierNameCallbackFunc = void 0;
|
|
64
73
|
// 获取证书列表回调
|
|
65
74
|
var getCertListCallbackFunc = void 0;
|
|
75
|
+
// 解密回调
|
|
76
|
+
var decryptCallbackFunc = void 0;
|
|
77
|
+
// 加密回调
|
|
78
|
+
var encryptCallbackFunc = void 0;
|
|
79
|
+
// 根据证书名称加密回调
|
|
80
|
+
var encryptByCNCallbackFunc = void 0;
|
|
66
81
|
// 连接发生错误的回调方法
|
|
67
82
|
window.signSocket.onerror = function () {
|
|
68
83
|
console.log('WebSocket连接发生错误');
|
|
@@ -84,24 +99,24 @@ function Easy3wCaHandler(serverURL) {
|
|
|
84
99
|
|
|
85
100
|
if (method === 'sign') {
|
|
86
101
|
// 签名数据
|
|
87
|
-
if (
|
|
102
|
+
if (signCallbackFunc && typeof signCallbackFunc === 'function') {
|
|
88
103
|
var response = { data: data, status: status };
|
|
89
104
|
if (status === 'success') {
|
|
90
105
|
// 签名成功
|
|
91
|
-
|
|
106
|
+
signCallbackFunc(response);
|
|
92
107
|
} else {
|
|
93
108
|
response = (0, _extends3['default'])({}, response, { errorMsg: errorMsg });
|
|
94
|
-
|
|
109
|
+
signCallbackFunc(response);
|
|
95
110
|
}
|
|
96
111
|
}
|
|
97
112
|
} else if (method === 'verify') {
|
|
98
|
-
if (
|
|
113
|
+
if (verifyCallbackFunc && typeof verifyCallbackFunc === 'function') {
|
|
99
114
|
var _response = { status: status };
|
|
100
115
|
if (status === 'success') {
|
|
101
|
-
|
|
116
|
+
verifyCallbackFunc(_response);
|
|
102
117
|
} else {
|
|
103
118
|
_response = (0, _extends3['default'])({}, _response, { errorMsg: errorMsg });
|
|
104
|
-
|
|
119
|
+
verifyCallbackFunc(_response);
|
|
105
120
|
}
|
|
106
121
|
}
|
|
107
122
|
} else if (method === 'getPublicKey') {
|
|
@@ -114,24 +129,74 @@ function Easy3wCaHandler(serverURL) {
|
|
|
114
129
|
getPublicKeyCallbackFunc(_response2);
|
|
115
130
|
}
|
|
116
131
|
}
|
|
117
|
-
} else if (method === '
|
|
118
|
-
if (
|
|
132
|
+
} else if (method === 'getPublicKeyByCN') {
|
|
133
|
+
if (getPublicKeyByCNCallbackFunc && typeof getPublicKeyByCNCallbackFunc === 'function') {
|
|
119
134
|
var _response3 = { data: data, status: status };
|
|
120
135
|
if (status === 'success') {
|
|
121
|
-
|
|
136
|
+
getPublicKeyByCNCallbackFunc(_response3);
|
|
122
137
|
} else {
|
|
123
138
|
_response3 = (0, _extends3['default'])({}, _response3, { errorMsg: errorMsg });
|
|
124
|
-
|
|
139
|
+
getPublicKeyByCNCallbackFunc(_response3);
|
|
125
140
|
}
|
|
126
141
|
}
|
|
127
|
-
} else if (method === '
|
|
128
|
-
if (
|
|
142
|
+
} else if (method === 'getSupplierName') {
|
|
143
|
+
if (getSupplierNameCallbackFunc && typeof getSupplierNameCallbackFunc === 'function') {
|
|
129
144
|
var _response4 = { data: data, status: status };
|
|
130
145
|
if (status === 'success') {
|
|
131
|
-
|
|
146
|
+
getSupplierNameCallbackFunc(_response4);
|
|
132
147
|
} else {
|
|
133
148
|
_response4 = (0, _extends3['default'])({}, _response4, { errorMsg: errorMsg });
|
|
134
|
-
|
|
149
|
+
getSupplierNameCallbackFunc(_response4);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
} else if (method === 'getCertList') {
|
|
153
|
+
if (getCertListCallbackFunc && typeof getCertListCallbackFunc === 'function') {
|
|
154
|
+
var _response5 = { data: data, status: status };
|
|
155
|
+
if (status === 'success') {
|
|
156
|
+
getCertListCallbackFunc(_response5);
|
|
157
|
+
} else {
|
|
158
|
+
_response5 = (0, _extends3['default'])({}, _response5, { errorMsg: errorMsg });
|
|
159
|
+
getCertListCallbackFunc(_response5);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
} else if (method === 'decrypt') {
|
|
163
|
+
if (decryptCallbackFunc && typeof decryptCallbackFunc === 'function') {
|
|
164
|
+
var _response6 = { data: data, status: status };
|
|
165
|
+
if (status === 'success') {
|
|
166
|
+
decryptCallbackFunc(_response6);
|
|
167
|
+
} else {
|
|
168
|
+
_response6 = (0, _extends3['default'])({}, _response6, { errorMsg: errorMsg });
|
|
169
|
+
decryptCallbackFunc(_response6);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
} else if (method === 'encrypt') {
|
|
173
|
+
if (encryptCallbackFunc && typeof encryptCallbackFunc === 'function') {
|
|
174
|
+
var _response7 = { data: data, status: status };
|
|
175
|
+
if (status === 'success') {
|
|
176
|
+
encryptCallbackFunc(_response7);
|
|
177
|
+
} else {
|
|
178
|
+
_response7 = (0, _extends3['default'])({}, _response7, { errorMsg: errorMsg });
|
|
179
|
+
encryptCallbackFunc(_response7);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
} else if (method === 'signByCN') {
|
|
183
|
+
if (signByCNCallbackFunc && typeof signByCNCallbackFunc === 'function') {
|
|
184
|
+
var _response8 = { data: data, status: status };
|
|
185
|
+
if (status === 'success') {
|
|
186
|
+
signByCNCallbackFunc(_response8);
|
|
187
|
+
} else {
|
|
188
|
+
_response8 = (0, _extends3['default'])({}, _response8, { errorMsg: errorMsg });
|
|
189
|
+
signByCNCallbackFunc(_response8);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
} else if (method === 'encryptByCN') {
|
|
193
|
+
if (encryptByCNCallbackFunc && typeof encryptByCNCallbackFunc === 'function') {
|
|
194
|
+
var _response9 = { data: data, status: status };
|
|
195
|
+
if (status === 'success') {
|
|
196
|
+
encryptByCNCallbackFunc(_response9);
|
|
197
|
+
} else {
|
|
198
|
+
_response9 = (0, _extends3['default'])({}, _response9, { errorMsg: errorMsg });
|
|
199
|
+
encryptByCNCallbackFunc(_response9);
|
|
135
200
|
}
|
|
136
201
|
}
|
|
137
202
|
}
|
|
@@ -152,18 +217,26 @@ function Easy3wCaHandler(serverURL) {
|
|
|
152
217
|
window.signSocket.close();
|
|
153
218
|
};
|
|
154
219
|
var CAExec = {
|
|
155
|
-
//
|
|
156
|
-
getSign: function getSign(original, serialNumber,
|
|
157
|
-
|
|
158
|
-
|
|
220
|
+
// 根据序列号获取签名
|
|
221
|
+
getSign: function getSign(original, serialNumber, signCallback) {
|
|
222
|
+
signCallbackFunc = null;
|
|
223
|
+
signCallbackFunc = signCallback;
|
|
159
224
|
var sendData = { method: 'sign', data: original, serialNumber: serialNumber, receiver: receiver, sender: sender };
|
|
160
225
|
var msg = JSON.stringify(sendData);
|
|
161
226
|
window.signSocket.send(msg);
|
|
162
227
|
},
|
|
228
|
+
// 根据证书名称获取签名
|
|
229
|
+
getSignByCN: function getSignByCN(original, cn, signByCNCallback) {
|
|
230
|
+
signByCNCallbackFunc = null;
|
|
231
|
+
signByCNCallbackFunc = signByCNCallback;
|
|
232
|
+
var sendData = { method: 'signByCN', data: original, cn: cn, receiver: receiver, sender: sender };
|
|
233
|
+
var msg = JSON.stringify(sendData);
|
|
234
|
+
window.signSocket.send(msg);
|
|
235
|
+
},
|
|
163
236
|
// 验签
|
|
164
|
-
verifySign: function verifySign(original, sign,
|
|
165
|
-
|
|
166
|
-
|
|
237
|
+
verifySign: function verifySign(original, sign, verifyCallback) {
|
|
238
|
+
verifyCallbackFunc = null;
|
|
239
|
+
verifyCallbackFunc = verifyCallback;
|
|
167
240
|
var sendData = { method: 'verify', data: { sign: sign, original: original }, receiver: receiver, sender: sender };
|
|
168
241
|
var msg = JSON.stringify(sendData);
|
|
169
242
|
window.signSocket.send(msg);
|
|
@@ -176,6 +249,14 @@ function Easy3wCaHandler(serverURL) {
|
|
|
176
249
|
var msg = JSON.stringify(sendData);
|
|
177
250
|
window.signSocket.send(msg);
|
|
178
251
|
},
|
|
252
|
+
// 根据证书名称获取公钥
|
|
253
|
+
getPublicKeyByCN: function getPublicKeyByCN(cn, certType, getPublicKeyByCNCallback) {
|
|
254
|
+
getPublicKeyByCNCallbackFunc = null;
|
|
255
|
+
getPublicKeyByCNCallbackFunc = getPublicKeyByCNCallback;
|
|
256
|
+
var sendData = { method: 'getPublicKeyByCN', cn: cn, certType: certType, receiver: receiver, sender: sender };
|
|
257
|
+
var msg = JSON.stringify(sendData);
|
|
258
|
+
window.signSocket.send(msg);
|
|
259
|
+
},
|
|
179
260
|
// 获取供方名称
|
|
180
261
|
getSupplierName: function getSupplierName(serialNumber, getSupplierNameCallback) {
|
|
181
262
|
getSupplierNameCallbackFunc = null;
|
|
@@ -191,6 +272,30 @@ function Easy3wCaHandler(serverURL) {
|
|
|
191
272
|
var sendData = { method: 'getCertList', receiver: receiver, sender: sender };
|
|
192
273
|
var msg = JSON.stringify(sendData);
|
|
193
274
|
window.signSocket.send(msg);
|
|
275
|
+
},
|
|
276
|
+
// 加密
|
|
277
|
+
encrypt: function encrypt(encryptOriginal, serialNumber, encryptCallback) {
|
|
278
|
+
encryptCallbackFunc = null;
|
|
279
|
+
encryptCallbackFunc = encryptCallback;
|
|
280
|
+
var sendData = { method: 'encrypt', data: encryptOriginal, serialNumber: serialNumber, receiver: receiver, sender: sender };
|
|
281
|
+
var msg = JSON.stringify(sendData);
|
|
282
|
+
window.signSocket.send(msg);
|
|
283
|
+
},
|
|
284
|
+
// 根据证书名称加密
|
|
285
|
+
encryptByCN: function encryptByCN(encryptOriginal, cn, encryptByCNCallback) {
|
|
286
|
+
encryptByCNCallbackFunc = null;
|
|
287
|
+
encryptByCNCallbackFunc = encryptByCNCallback;
|
|
288
|
+
var sendData = { method: 'encryptByCN', data: encryptOriginal, cn: cn, receiver: receiver, sender: sender };
|
|
289
|
+
var msg = JSON.stringify(sendData);
|
|
290
|
+
window.signSocket.send(msg);
|
|
291
|
+
},
|
|
292
|
+
// 解密
|
|
293
|
+
decrypt: function decrypt(encryptData, decryptCallback) {
|
|
294
|
+
decryptCallbackFunc = null;
|
|
295
|
+
decryptCallbackFunc = decryptCallback;
|
|
296
|
+
var sendData = { method: 'decrypt', data: encryptData, receiver: receiver, sender: sender };
|
|
297
|
+
var msg = JSON.stringify(sendData);
|
|
298
|
+
window.signSocket.send(msg);
|
|
194
299
|
}
|
|
195
300
|
};
|
|
196
301
|
return CAExec;
|
|
@@ -199,6 +304,7 @@ function Easy3wCaHandler(serverURL) {
|
|
|
199
304
|
var getId = function getId() {
|
|
200
305
|
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
|
201
306
|
var r = Math.random() * 16 | 0;
|
|
307
|
+
// eslint-disable-next-line no-mixed-operators
|
|
202
308
|
var v = c === 'x' ? r : r & 0x3 | 0x8;
|
|
203
309
|
return v.toString(16);
|
|
204
310
|
}).toUpperCase();
|