n20-common-lib 2.8.13 → 2.8.15

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.
@@ -1,226 +1,412 @@
1
- function Certificate(r) {
2
- var t = {}
3
- if (
4
- ((t.certInfo = null),
5
- (t._parseCert = function (r) {
6
- var t = TCACore.getInstance(),
7
- e = { certStoreNameArr: ['MY', 'Address'], b64Cert: r }
8
- e = tcu.json2Str(e)
9
- var n
1
+ function Certificate(b64CertOrCertInfo) {
2
+ var priData = {
3
+ certInfo: null,
4
+ _parseCert: function (r) {
5
+ if (tcu.isFFKyLinFT()) {
6
+ return tcu.ffKylinFT.parseCert(r)
7
+ }
8
+ var t,
9
+ e = TCACore.getInstance(),
10
+ n = { certStoreNameArr: ['MY', 'Address'], b64Cert: r }
11
+ n = tcu.json2Str(n)
10
12
  try {
11
- n = t.call('Certificate/parseCert', e)
13
+ t = e.call('Certificate/parseCert', n)
12
14
  } catch (r) {
13
15
  return TCACErr.throwErr(r, ERRMAP.CERTIFICATE_PARSE_ERROR), null
14
16
  }
15
- return n.certInfo
16
- }),
17
- (this._keyStoreName = ''),
17
+ return t.certInfo
18
+ }
19
+ }
20
+ if (
21
+ ((this._keyStoreName = ''),
18
22
  (this._keyStoreType = ''),
19
23
  (this._keyStoreContainer = ''),
20
24
  (this._keySpec = 0),
21
25
  (this._certStoreName = ''),
22
- tcu.isStr(r))
23
- )
24
- (t.certInfo = t._parseCert(r)), (t.certInfo.b64 = r)
25
- else {
26
- if (!tcu.isObj(r)) return void TCACErr.throwErr(ERRMAP.CERTIFICATE_INIT_WRONGTYPE)
27
- t.certInfo = r
26
+ tcu.isStr(b64CertOrCertInfo))
27
+ ) {
28
+ ;(priData.certInfo = priData._parseCert(b64CertOrCertInfo)), (priData.certInfo.b64 = b64CertOrCertInfo)
29
+ } else {
30
+ if (!tcu.isObj(b64CertOrCertInfo)) {
31
+ return void TCACErr.throwErr(ERRMAP.CERTIFICATE_INIT_WRONGTYPE)
32
+ }
33
+ priData.certInfo = b64CertOrCertInfo
28
34
  }
29
- ;(this._keyStoreName = t.certInfo.keyStoreName),
30
- (this._keyStoreType = t.certInfo.keyStoreType),
31
- (this._keyStoreContainer = t.certInfo.certContainerName),
32
- (this._keySpec = t.certInfo.certKeySpec),
33
- (this._certStoreName = t.certInfo.certStoreName),
35
+ ;(this._keyStoreName = priData.certInfo.keyStoreName),
36
+ (this._keyStoreType = priData.certInfo.keyStoreType),
37
+ (this._keyStoreContainer = priData.certInfo.certContainerName),
38
+ (this._keySpec = priData.certInfo.certKeySpec),
39
+ (this._certStoreName = priData.certInfo.certStoreName),
34
40
  (this.serialNumber = function () {
35
- return t.certInfo.SN
41
+ return priData.certInfo.SN
42
+ }),
43
+ (this.serialNumberDec = function () {
44
+ return priData.certInfo.SNDEC
36
45
  }),
37
46
  (this.subject = function () {
38
- return t.certInfo.subject.reDn
47
+ return priData.certInfo.subject.winDn
39
48
  }),
40
49
  (this.issuer = function () {
41
- return t.certInfo.issuer.reDn
50
+ return priData.certInfo.issuer.winDn
42
51
  }),
43
52
  (this.notBefore = function () {
44
- return t.certInfo.notBefore
53
+ return priData.certInfo.notBefore
45
54
  }),
46
55
  (this.notAfter = function () {
47
- return t.certInfo.notAfter
56
+ return priData.certInfo.notAfter
48
57
  }),
49
58
  (this.crlUrl = function () {
50
- return t.certInfo.crlUrl
59
+ return priData.certInfo.crlUrl
60
+ }),
61
+ (this.raXmno = function () {
62
+ var extensions = priData.certInfo.extension
63
+ for (var index in ((extensions = eval(extensions)), extensions)) {
64
+ var oid = extensions[index].oid,
65
+ value = extensions[index].value
66
+ if ('1.2.156.102001.1.1' === oid) {
67
+ return value
68
+ }
69
+ }
70
+ return ''
71
+ }),
72
+ (this.entQykzno = function () {
73
+ var extensions = priData.certInfo.extension
74
+ for (var index in ((extensions = eval(extensions)), extensions)) {
75
+ var oid = extensions[index].oid,
76
+ value = extensions[index].value
77
+ if ('1.2.156.102001.1.3' === oid) {
78
+ return value
79
+ }
80
+ }
81
+ return ''
82
+ }),
83
+ (this.entSbno = function () {
84
+ var extensions = priData.certInfo.extension
85
+ for (var index in ((extensions = eval(extensions)), extensions)) {
86
+ var oid = extensions[index].oid,
87
+ value = extensions[index].value
88
+ if ('1.2.156.102001.1.4' === oid) {
89
+ return value
90
+ }
91
+ }
92
+ return ''
51
93
  }),
52
94
  (this.signAlg = function () {
53
- return tcu.convSignAlg2Str(t.certInfo.signAlg)
95
+ return tcu.convSignAlg2Str(priData.certInfo.signAlg)
54
96
  }),
55
97
  (this.publicKeyAlg = function () {
56
- return tcu.convPubKeyAlg2Str(t.certInfo.pubKeyAlg)
98
+ return tcu.convPubKeyAlg2Str(priData.certInfo.pubKeyAlg)
57
99
  }),
58
100
  (this.publicKeySize = function () {
59
- return tcu.convPubKeyAlg2Size(t.certInfo.pubKeyAlg)
101
+ return tcu.convPubKeyAlg2Size(priData.certInfo.pubKeyAlg)
60
102
  }),
61
103
  (this.keyUsage = function () {
62
- return tcu.convKeyUsageNum2Arr(t.certInfo.keyUsage)
104
+ return tcu.convKeyUsageNum2Arr(priData.certInfo.keyUsage)
63
105
  }),
64
106
  (this.extededKeyUsage = function () {
65
- return tcu.convExtKeyUsageOID2Name(t.certInfo.extKeyUsage)
107
+ return tcu.convExtKeyUsageOID2Name(priData.certInfo.extKeyUsage)
66
108
  }),
67
109
  (this.toBase64 = function () {
68
- return t.certInfo.b64
110
+ return priData.certInfo.b64
69
111
  }),
70
- (this.signMessage = function (r, e, n, i) {
71
- if (((e = void 0 === e || e), void 0 === n)) n = this.publicKeyAlg() === 'RSA' ? TCA.SHA1 : TCA.SM3
72
- else if (!tcu.checkHashAlg(this.publicKeyAlg(), n)) return null
73
- if (!tcu.isStr(r)) return TCACErr.throwErr(ERRMAP.SIGN_INPUT_ERROR), null
74
- if (i == TCA.IO.B64 && (r === '' || r.length % 4 !== 0)) return TCACErr.throwErr(ERRMAP.SIGN_INPUT_ERROR), null
75
- i = void 0 === i ? TCA.IO.U8 : i
76
- var c = TCACore.getInstance(),
77
- a = TCA.IO.MSG | i,
78
- s = r,
79
- o = TCA.IO.MSG | TCA.IO.B64,
80
- A = 'noSet',
81
- u = tcu.tcaAlg2SDKAlg(n),
82
- C = c.getCfg('signPkcs7WithAttr'),
83
- l = ['MY', 'Address'],
84
- T = [t.certInfo.certID],
85
- E = tcu.sign(l, T, u, !1, !0, C, e, !0, a, s, o, A)
86
- return E != null ? E.result : null
112
+ (this.clearPinCache_xc = function () {
113
+ var certB64 = this.toBase64()
114
+ var certContainerName = priData.certInfo.certContainerName
115
+ var keyStoreName = priData.certInfo.keyStoreName
116
+ var resp
117
+ try {
118
+ if (tcu.isFFKyLinFT()) {
119
+ if (0 != priData.certInfo.keyStoreName.indexOf('Longmai')) {
120
+ return !0
121
+ }
122
+ var certB64 = this.toBase64()
123
+ return tcu.ffKylinFT.clearPinCache(keyStoreName, certB64)
124
+ }
125
+ return tcu.clearPinCache(keyStoreName)
126
+ } catch (e) {
127
+ TCACErr.throwErr(e, ERRMAP.CLEAR_PIN_CACHE_ERROR)
128
+ return null
129
+ }
87
130
  }),
88
- (this.signMessageRaw = function (r, e, n) {
89
- if (void 0 === e) e = this.publicKeyAlg() === 'RSA' ? TCA.SHA1 : TCA.SM3
90
- else if (!tcu.checkHashAlg(this.publicKeyAlg(), e)) return null
91
- if (!tcu.isStr(r)) return TCACErr.throwErr(ERRMAP.SIGN_INPUT_ERROR), null
92
- if (n == TCA.IO.B64 && (r === '' || r.length % 4 !== 0)) return TCACErr.throwErr(ERRMAP.SIGN_INPUT_ERROR), null
93
- n = void 0 === n ? TCA.IO.U8 : n
94
- var i = TCA.IO.MSG | n,
95
- c = r,
96
- a = TCA.IO.MSG | TCA.IO.B64,
97
- s = 'noSet',
98
- o = tcu.tcaAlg2SDKAlg(e),
99
- A = ['MY', 'Address'],
100
- u = [t.certInfo.certID],
101
- C = tcu.sign(A, u, o, !1, !1, !1, !1, !1, i, c, a, s)
102
- return C != null ? C.result : null
131
+ (this.verifyPin = function (userPin) {
132
+ var certB64 = this.toBase64()
133
+ var certContainerName = priData.certInfo.certContainerName
134
+ var keyStoreName = priData.certInfo.keyStoreName
135
+ var T
136
+ try {
137
+ if (tcu.isFFKyLinFT()) {
138
+ var certB64 = this.toBase64()
139
+ return null != (T = tcu.ffKylinFT.verifyPin(keyStoreName, certB64, userPin)) ? T.retCode : null
140
+ }
141
+ } catch (e) {
142
+ TCACErr.throwErr(e, ERRMAP.VERIFY_PIN_ERROR)
143
+ return null
144
+ }
103
145
  }),
104
- (this.signFile = function (r, e, n, i, c) {
105
- if (((n = void 0 === n || n), (i = void 0 === i ? TCA.IO.BIN : i), void 0 === c))
106
- c = this.publicKeyAlg() === 'RSA' ? TCA.SHA1 : TCA.SM3
107
- else if (!tcu.checkHashAlg(this.publicKeyAlg(), c)) return null
108
- var a = TCACore.getInstance(),
109
- s = TCA.IO.FILE | i,
110
- o = r,
111
- A = TCA.IO.FILE | i,
112
- u = e,
113
- C = tcu.tcaAlg2SDKAlg(c),
114
- l = a.getCfg('signPkcs7WithAttr'),
115
- T = ['MY', 'Address'],
116
- E = [t.certInfo.certID],
117
- R = tcu.sign(T, E, C, !1, !0, l, n, !0, s, o, A, u)
118
- return R != null
146
+ (this.clearPinCache = function () {
147
+ if (tcu.isFFKyLinFT()) {
148
+ return this.clearPinCache_xc()
149
+ }
150
+ var r = { clid: '', method: 'clearpin', params: [priData.certInfo.keyStoreName, this._keyStoreContainer] }
151
+ r = tcu.json2Str(r)
152
+ var t = TCACore.getInstance()
153
+ try {
154
+ t.call('KeyCom/call', r)
155
+ } catch (r) {
156
+ return TCACErr.throwErr(r, ERRMAP.DECRYPT_ERROR), null
157
+ }
158
+ }),
159
+ (this.setPin = function (r) {
160
+ if (tcu.isFFKyLinFT()) {
161
+ if (0 != priData.certInfo.keyStoreName.indexOf('Longmai')) {
162
+ return !0
163
+ }
164
+ return this.verifyPin(r)
165
+ }
166
+ var t = { clid: '', method: '', params: [priData.certInfo.keyStoreName, r] }
167
+ t = tcu.json2Str(t)
168
+ var n = TCACore.getInstance()
169
+ try {
170
+ n.call('KeyCom/call', t)
171
+ } catch (t) {
172
+ return TCACErr.throwErr(t, ERRMAP.DECRYPT_ERROR), null
173
+ }
174
+ })
175
+ ;(this.signMessage = function (r, t, e, n) {
176
+ if (((t = void 0 === t || t), void 0 === e)) {
177
+ e = 'RSA' === this.publicKeyAlg() ? TCA.SHA1 : TCA.SM3
178
+ } else {
179
+ if (!tcu.checkHashAlg(this.publicKeyAlg(), e)) {
180
+ return null
181
+ }
182
+ }
183
+ n = void 0 === n ? TCA.IO.U8 : n
184
+ var i = TCACore.getInstance(),
185
+ c = TCA.IO.MSG | n,
186
+ a = r,
187
+ o = TCA.IO.MSG | TCA.IO.B64,
188
+ s = 'noSet',
189
+ u = tcu.tcaAlg2SDKAlg(e),
190
+ l = i.getCfg('signPkcs7WithAttr'),
191
+ A = [priData.certInfo.certID]
192
+ if (tcu.isFFKyLinFT()) {
193
+ var C = this.toBase64()
194
+ var storeName = priData.certInfo.keyStoreName
195
+ if (0 != storeName.indexOf('Longmai')) {
196
+ return tcu.ffKylinFT.softSign(storeName, C, u, c, a, o, s, !1, !1, t)
197
+ }
198
+ return tcu.ffKylinFT.sign(C, u, c, a, o, s, !1, !1, t)
199
+ }
200
+ if (tcu.isSKFProv(priData.certInfo.keyStoreName) && this.publicKeyAlg() == TCA.SM2) {
201
+ var T,
202
+ E = tcu.convProvName(priData.certInfo.keyStoreName)
203
+ return null != (T = tcu.skfSign(E, priData.certInfo.b64, u, !1, !0, l, t, !0, c, a, o, s)) ? T.result : null
204
+ }
205
+ return null != (T = tcu.sign(['MY', 'Address'], A, u, !1, !0, l, t, !0, c, a, o, s)) ? T.result : null
206
+ }),
207
+ (this.signMessageRaw = function (r, t, e) {
208
+ if (void 0 === t) {
209
+ t = 'RSA' === this.publicKeyAlg() ? TCA.SHA1 : TCA.SM3
210
+ } else {
211
+ if (!tcu.checkHashAlg(this.publicKeyAlg(), t)) {
212
+ return null
213
+ }
214
+ }
215
+ e = void 0 === e ? TCA.IO.U8 : e
216
+ var n = TCA.IO.MSG | e,
217
+ i = r,
218
+ c = TCA.IO.MSG | TCA.IO.B64,
219
+ a = 'noSet',
220
+ o = tcu.tcaAlg2SDKAlg(t),
221
+ s = [priData.certInfo.certID]
222
+ if (tcu.isFFKyLinFT()) {
223
+ var u = this.toBase64()
224
+ var storeName = priData.certInfo.keyStoreName
225
+ if (0 != storeName.indexOf('Longmai')) {
226
+ return tcu.ffKylinFT.softSign(storeName, u, o, n, i, c, a, !0, !1, !1)
227
+ }
228
+ return tcu.ffKylinFT.sign(u, o, n, i, c, a, !0, !1, !1)
229
+ }
230
+ if (tcu.isSKFProv(priData.certInfo.keyStoreName) && this.publicKeyAlg() == TCA.SM2) {
231
+ var l,
232
+ A = tcu.convProvName(priData.certInfo.keyStoreName)
233
+ return null != (l = tcu.skfSign(A, priData.certInfo.b64, o, !1, !1, !1, !1, !1, n, i, c, a)) ? l.result : null
234
+ }
235
+ return null != (l = tcu.sign(['MY', 'Address'], s, o, !1, !1, !1, !1, !1, n, i, c, a)) ? l.result : null
119
236
  }),
120
- (this.signFile2Msg = function (r, e, n, i) {
121
- if (((e = void 0 === e || e), (n = void 0 === n ? TCA.IO.BIN : n), void 0 === i))
122
- i = this.publicKeyAlg() === 'RSA' ? TCA.SHA1 : TCA.SM3
123
- else if (!tcu.checkHashAlg(this.publicKeyAlg(), i)) return null
237
+ (this.signFile = function (r, t, e, n, i) {
238
+ if (((e = void 0 === e || e), (n = void 0 === n ? TCA.IO.BIN : n), void 0 === i)) {
239
+ i = 'RSA' === this.publicKeyAlg() ? TCA.SHA1 : TCA.SM3
240
+ } else {
241
+ if (!tcu.checkHashAlg(this.publicKeyAlg(), i)) {
242
+ return null
243
+ }
244
+ }
124
245
  var c = TCACore.getInstance(),
125
246
  a = TCA.IO.FILE | n,
126
- s = r,
247
+ o = r,
248
+ s = TCA.IO.FILE | n,
249
+ u = t,
250
+ l = tcu.tcaAlg2SDKAlg(i),
251
+ A = c.getCfg('signPkcs7WithAttr'),
252
+ C = [priData.certInfo.certID]
253
+ if (tcu.isSKFProv(priData.certInfo.keyStoreName) && this.publicKeyAlg() == TCA.SM2) {
254
+ var T,
255
+ E = tcu.convProvName(priData.certInfo.keyStoreName)
256
+ return null != (T = tcu.skfSign(E, priData.certInfo.b64, l, !1, !0, A, e, !0, a, o, s, u)) ? T.result : null
257
+ }
258
+ return null != (T = tcu.sign(['MY', 'Address'], C, l, !1, !0, A, e, !0, a, o, s, u))
259
+ }),
260
+ (this.signFile2Msg = function (r, t, e, n) {
261
+ if (((t = void 0 === t || t), (e = void 0 === e ? TCA.IO.BIN : e), void 0 === n)) {
262
+ n = 'RSA' === this.publicKeyAlg() ? TCA.SHA1 : TCA.SM3
263
+ } else {
264
+ if (!tcu.checkHashAlg(this.publicKeyAlg(), n)) {
265
+ return null
266
+ }
267
+ }
268
+ var i = TCACore.getInstance(),
269
+ c = TCA.IO.FILE | e,
270
+ a = r,
127
271
  o = TCA.IO.MSG | TCA.IO.B64,
128
- A = 'noset',
129
- u = tcu.tcaAlg2SDKAlg(i),
130
- C = c.getCfg('signPkcs7WithAttr'),
131
- l = ['MY', 'Address'],
132
- T = [t.certInfo.certID],
133
- E = tcu.sign(l, T, u, !1, !0, C, e, !0, a, s, o, A)
134
- return E != null ? E.result : null
272
+ s = tcu.tcaAlg2SDKAlg(n),
273
+ u = i.getCfg('signPkcs7WithAttr'),
274
+ l = [priData.certInfo.certID]
275
+ if (tcu.isSKFProv(priData.certInfo.keyStoreName) && this.publicKeyAlg() == TCA.SM2) {
276
+ var A,
277
+ C = tcu.convProvName(priData.certInfo.keyStoreName)
278
+ return null != (A = tcu.skfSign(C, priData.certInfo.b64, s, !1, !0, u, t, !0, c, a, o, 'noset'))
279
+ ? A.result
280
+ : null
281
+ }
282
+ return null != (A = tcu.sign(['MY', 'Address'], l, s, !1, !0, u, t, !0, c, a, o, 'noset')) ? A.result : null
135
283
  }),
136
- (this.signFileRaw = function (r, e, n) {
137
- if (((e = void 0 === e ? TCA.IO.BIN : e), void 0 === n)) n = this.publicKeyAlg() === 'RSA' ? TCA.SHA1 : TCA.SM3
138
- else if (!tcu.checkHashAlg(this.publicKeyAlg(), n)) return null
139
- var i = TCA.IO.FILE | e,
140
- c = r,
141
- a = TCA.IO.MSG | TCA.IO.B64,
142
- s = 'noSet',
143
- o = tcu.tcaAlg2SDKAlg(n),
144
- A = ['MY', 'Address'],
145
- u = [t.certInfo.certID],
146
- C = tcu.sign(A, u, o, !1, !1, !1, !1, !1, i, c, a, s)
147
- return C != null ? C.result : null
284
+ (this.signFileRaw = function (r, t, e) {
285
+ if (((t = void 0 === t ? TCA.IO.BIN : t), void 0 === e)) {
286
+ e = 'RSA' === this.publicKeyAlg() ? TCA.SHA1 : TCA.SM3
287
+ } else {
288
+ if (!tcu.checkHashAlg(this.publicKeyAlg(), e)) {
289
+ return null
290
+ }
291
+ }
292
+ var n = TCA.IO.FILE | t,
293
+ i = r,
294
+ c = TCA.IO.MSG | TCA.IO.B64,
295
+ a = tcu.tcaAlg2SDKAlg(e),
296
+ o = [priData.certInfo.certID]
297
+ if (tcu.isSKFProv(priData.certInfo.keyStoreName) && this.publicKeyAlg() == TCA.SM2) {
298
+ var s,
299
+ u = tcu.convProvName(priData.certInfo.keyStoreName)
300
+ return null != (s = tcu.skfSign(u, priData.certInfo.b64, a, !1, !1, !1, !1, !1, n, i, c, 'noSet'))
301
+ ? s.result
302
+ : null
303
+ }
304
+ return null != (s = tcu.sign(['MY', 'Address'], o, a, !1, !1, !1, !1, !1, n, i, c, 'noSet')) ? s.result : null
148
305
  }),
149
306
  (this.encryptMessage = function (r, t) {
150
- void 0 === t && ((t = this.publicKeyAlg() == 'SM2' ? TCA.SM4 : TCA.DES3), (t = tcu.tcaAlg2SDKAlg(t)))
307
+ void 0 === t && ((t = 'SM2' == this.publicKeyAlg() ? TCA.SM4 : TCA.DES3), (t = tcu.tcaAlg2SDKAlg(t)))
151
308
  var e = [this.toBase64()],
152
309
  n = TCA.IO.MSG | TCA.IO.U8,
153
310
  i = r,
154
- c = TCA.IO.MSG | TCA.IO.B64,
155
- a = 'noSet',
156
- s = tcu.enc(e, t, !0, n, i, c, a)
157
- return s != null ? s.result : null
311
+ c = TCA.IO.MSG | TCA.IO.B64
312
+ if (tcu.isFFKyLinFT()) {
313
+ var a,
314
+ o = this.toBase64()
315
+ return (a = tcu.ffKylinFT.enc(o, n, i, c, 'noSet', !1, t)).result
316
+ }
317
+ return null != (a = tcu.enc(e, t, !0, n, i, c, 'noSet')) ? a.result : null
158
318
  }),
159
319
  (this.encryptMessageRaw = function (r) {
160
320
  var t = [this.toBase64()],
161
321
  e = TCA.IO.MSG | TCA.IO.U8,
162
322
  n = r,
163
323
  i = TCA.IO.MSG | TCA.IO.B64,
164
- c = 'noSet',
165
- a = tcu.tcaAlg2SDKAlg(TCA.SM4),
166
- s = tcu.enc(t, a, !1, e, n, i, c)
167
- return s != null ? s.result : null
324
+ c = tcu.tcaAlg2SDKAlg(TCA.SM4)
325
+ if (tcu.isFFKyLinFT()) {
326
+ var a,
327
+ o = this.toBase64()
328
+ return (a = tcu.ffKylinFT.enc(o, e, n, i, 'noSet', !0, c)).result
329
+ }
330
+ return null != (a = tcu.enc(t, c, !1, e, n, i, 'noSet')) ? a.result : null
168
331
  }),
169
332
  (this.encryptFile = function (r, t, e, n) {
170
333
  ;(e = void 0 === e ? TCA.IO.BIN : e), (n = tcu.tcaAlg2SDKAlg(TCA.SM4))
171
334
  var i = [this.toBase64()],
172
335
  c = TCA.IO.FILE | e,
173
336
  a = r,
174
- s = TCA.IO.FILE | e,
175
- o = tcu.enc(i, n, !0, c, a, s, t)
176
- return o != null || null
337
+ o = TCA.IO.FILE | e
338
+ return null != tcu.enc(i, n, !0, c, a, o, t) || null
177
339
  }),
178
340
  (this.verifyMessageRaw = function (r, t, e, n) {
179
- if (void 0 === e) e = this.publicKeyAlg() === 'RSA' ? TCA.SHA1 : TCA.SHA256
180
- else if (!tcu.checkHashAlg(this.publicKeyAlg(), e)) return null
341
+ if (void 0 === e) {
342
+ e = 'RSA' === this.publicKeyAlg() ? TCA.SHA1 : TCA.SHA256
343
+ } else {
344
+ if (!tcu.checkHashAlg(this.publicKeyAlg(), e)) {
345
+ return null
346
+ }
347
+ }
181
348
  n = void 0 === n ? TCA.IO.U8 : n
182
349
  var i = this.toBase64(),
183
350
  c = TCA.VERIFYOPT.CONTEXT_IN_INPUT | TCA.VERIFYOPT.CERT_IN_INPUT,
184
351
  a = TCA.IO.MSG | TCA.IO.B64,
185
- s = r,
186
- o = TCA.IO.MSG | n,
187
- A = tcu.tcaAlg2SDKAlg(e),
188
- u = tcu.verify(i, !1, !1, A, c, a, s, o, t)
189
- return u != null && u.verifyResult
352
+ o = r,
353
+ s = TCA.IO.MSG | n,
354
+ u = tcu.tcaAlg2SDKAlg(e)
355
+ if (tcu.isFFKyLinFT()) {
356
+ var l,
357
+ A = this.toBase64()
358
+ return !!(l = tcu.ffKylinFT.verify(A, s, t, a, o, !0, c, u, !1)).verifyResult && l.verifyResult
359
+ }
360
+ return null != (l = tcu.verify(i, !1, !1, u, c, a, o, s, t)) && l.verifyResult
190
361
  }),
191
362
  (this.verifyFileRaw = function (r, t, e, n) {
192
- if (void 0 === n) n = this.publicKeyAlg() === 'RSA' ? TCA.SHA1 : TCA.SHA256
193
- else if (!tcu.checkHashAlg(this.publicKeyAlg(), n)) return null
363
+ if (void 0 === n) {
364
+ n = 'RSA' === this.publicKeyAlg() ? TCA.SHA1 : TCA.SHA256
365
+ } else {
366
+ if (!tcu.checkHashAlg(this.publicKeyAlg(), n)) {
367
+ return null
368
+ }
369
+ }
194
370
  var i = this.toBase64(),
195
371
  c = TCA.VERIFYOPT.CONTEXT_IN_INPUT | TCA.VERIFYOPT.CERT_IN_INPUT,
196
372
  a = TCA.IO.MSG | TCA.IO.B64,
197
- s = r,
198
- o = TCA.IO.FILE | TCA.IO.BIN,
199
- A = tcu.tcaAlg2SDKAlg(n),
200
- u = tcu.verify(i, !1, !1, A, c, a, s, o, t)
201
- return u != null && u.verifyResult
373
+ o = r,
374
+ s = TCA.IO.FILE | TCA.IO.BIN,
375
+ u = tcu.tcaAlg2SDKAlg(n),
376
+ l = tcu.verify(i, !1, !1, u, c, a, o, s, t)
377
+ return null != l && l.verifyResult
202
378
  }),
203
379
  (this.decryptMessageRaw = function (r) {
204
- var e = ['MY', 'Address'],
205
- n = [t.certInfo.certID],
206
- i = TCA.IO.MSG | TCA.IO.B64,
207
- c = r,
208
- a = TCA.IO.MSG | TCA.IO.U8,
209
- s = 'noSet',
210
- o = tcu.dec(e, n, !1, i, c, a, s)
211
- return o != null ? o.result : null
380
+ var t = [priData.certInfo.certID],
381
+ e = TCA.IO.MSG | TCA.IO.B64,
382
+ n = r,
383
+ i = TCA.IO.MSG | TCA.IO.U8
384
+ if (tcu.isFFKyLinFT()) {
385
+ var c,
386
+ a = this.toBase64()
387
+ return null != (c = tcu.ffKylinFT.dec(!1, e, n, i, 'noSet', a)) ? c.result : null
388
+ }
389
+ return null != (c = tcu.dec(['MY', 'Address'], t, !1, e, n, i, 'noSet')) ? c.result : null
212
390
  }),
213
391
  (this.deleteCert = function () {
392
+ if (tcu.isFFKyLinFT()) {
393
+ var u = this.toBase64()
394
+ var storeName = priData.certInfo.keyStoreName
395
+ if (0 != storeName.indexOf('Longmai')) {
396
+ return tcu.ffKylinFT.softDelCert(storeName, u)
397
+ }
398
+ return tcu.ffKylinFT.delCert(storeName, u)
399
+ }
214
400
  var r,
215
- e = [t.certInfo.certID],
216
- n = TCACore.getInstance(),
217
- i = '{"certStore" : ["MY", "Address"], "certIDArr" : ["' + e + '"]}'
401
+ t = [priData.certInfo.certID],
402
+ e = TCACore.getInstance(),
403
+ n = '{"certStore" : ["MY", "Address"], "certIDArr" : ["' + t + '"]}'
218
404
  try {
219
- r = n.call('Certificate/deleteCert', i)
405
+ r = e.call('Certificate/deleteCert', n)
220
406
  } catch (r) {
221
407
  return TCACErr.throwErr(r, ERRMAP.CERTIFICATE_DELETE_ERROR), !1
222
408
  }
223
- return r != null
409
+ return null != r
224
410
  }),
225
411
  (this.signLogonData = function (r) {
226
412
  return this.signMessage('LOGONDATA:' + r)
@@ -229,72 +415,98 @@ function Certificate(r) {
229
415
  (this.signLogondata = this.signLogonData),
230
416
  (this.encryptRaw = this.encryptMessageRaw),
231
417
  (this.verifyFile = function (r, t, e) {
232
- return (r = null), (t = null), (e = null), TCACErr.throwErr(ERRMAP.UNIMPLEMENTED), null
418
+ return null, TCACErr.throwErr(ERRMAP.UNIMPLEMENTED), null
233
419
  }),
234
420
  (this.verifyRaw = this.verifyMessageRaw),
235
421
  (this.Delete = this.deleteCert),
236
422
  (this.b64str = this.toBase64),
237
423
  (this.exportPFX = function (r) {
238
- return (r = null), TCACErr.throwErr(ERRMAP.UNIMPLEMENTED), null
424
+ return null, TCACErr.throwErr(ERRMAP.UNIMPLEMENTED), null
239
425
  }),
240
426
  (this.exportPFX2File = function (r, t) {
241
- return (r = null), (t = null), TCACErr.throwErr(ERRMAP.UNIMPLEMENTED), null
427
+ return null, TCACErr.throwErr(ERRMAP.UNIMPLEMENTED), null
242
428
  }),
243
429
  (this.show = function () {
244
430
  return TCACErr.throwErr(ERRMAP.UNIMPLEMENTED), null
245
431
  })
246
432
  }
247
- function CertSet(r) {
248
- var t = {}
249
- if (((t.certArr = []), r instanceof Array)) {
250
- if (r.length != 0)
251
- if (r[0] instanceof Certificate) t.certArr = r
252
- else {
253
- if (!tcu.isStr(r[0])) return void TCACErr.throwErr(ERRMAP.CERT_SET_INIT_ERROR_TYPE)
254
- for (var e = 0; e < r.length; e++) t.certArr.push(new Certificate(r[e]))
255
- }
256
- } else if (tcu.isStr(r)) t.certArr.push(new Certificate(r))
257
- else {
258
- if (r instanceof Pkcs7) return void TCACErr.throwErr(ERRMAP.CERT_SET_INIT_ERROR_TYPE_2)
259
- if (r instanceof Certificate) t.certArr.push(r)
260
- else if (arguments.length != 0) return void TCACErr.throwErr(ERRMAP.CERT_SET_INIT_ERROR_TYPE_3)
433
+ function CertSet(a) {
434
+ var c = { certArr: [] }
435
+ if (a instanceof Array) {
436
+ if (0 != a.length) {
437
+ if (a[0] instanceof Certificate) {
438
+ c.certArr = a
439
+ } else {
440
+ if (!tcu.isStr(a[0])) {
441
+ return void TCACErr.throwErr(ERRMAP.CERT_SET_INIT_ERROR_TYPE)
442
+ }
443
+ for (var b = 0; b < a.length; b++) {
444
+ c.certArr.push(new Certificate(a[b]))
445
+ }
446
+ }
447
+ }
448
+ } else {
449
+ if (tcu.isStr(a)) {
450
+ c.certArr.push(new Certificate(a))
451
+ } else {
452
+ if (a instanceof Pkcs7) {
453
+ return void TCACErr.throwErr(ERRMAP.CERT_SET_INIT_ERROR_TYPE_2)
454
+ }
455
+ if (a instanceof Certificate) {
456
+ c.certArr.push(a)
457
+ } else {
458
+ if (0 != arguments.length) {
459
+ return void TCACErr.throwErr(ERRMAP.CERT_SET_INIT_ERROR_TYPE_3)
460
+ }
461
+ }
462
+ }
261
463
  }
262
464
  ;(this.size = function () {
263
- return t.certArr.length
465
+ return c.certArr.length
264
466
  }),
265
- (this.get = function (r) {
266
- return t.certArr[r]
467
+ (this.get = function (d) {
468
+ return c.certArr[d]
267
469
  }),
268
- (this.bySerialnumber = function (r) {
269
- for (var e = 0; e < t.certArr.length; e++)
270
- if (t.certArr[e].serialNumber() === r.toUpperCase()) return new CertSet(t.certArr[e])
470
+ (this.bySerialnumber = function (e) {
471
+ for (var d = 0; d < c.certArr.length; d++) {
472
+ if (c.certArr[d].serialNumber() === e.toUpperCase()) {
473
+ return new CertSet(c.certArr[d])
474
+ }
475
+ }
271
476
  return new CertSet()
272
477
  }),
273
- (this.bySubject = function (r) {
274
- for (var e = [], n = 0; n < t.certArr.length; n++) t.certArr[n].subject().search(r) >= 0 && e.push(t.certArr[n])
275
- return e.length == 0 ? new CertSet() : new CertSet(e)
478
+ (this.bySubject = function (d) {
479
+ for (var f = [], e = 0; e < c.certArr.length; e++) {
480
+ 0 <= c.certArr[e].subject().search(d) && f.push(c.certArr[e])
481
+ }
482
+ return 0 == f.length ? new CertSet() : new CertSet(f)
276
483
  }),
277
- (this.byIssuer = function (r) {
278
- for (var e = [], n = 0; n < t.certArr.length; n++) t.certArr[n].issuer().search(r) >= 0 && e.push(t.certArr[n])
279
- return e.length == 0 ? new CertSet() : new CertSet(e)
484
+ (this.byIssuer = function (d) {
485
+ for (var f = [], e = 0; e < c.certArr.length; e++) {
486
+ 0 <= c.certArr[e].issuer().search(d) && f.push(c.certArr[e])
487
+ }
488
+ return 0 == f.length ? new CertSet() : new CertSet(f)
280
489
  }),
281
- (this.byValidity = function (r) {
282
- for (var e = arguments.length == 0 ? new Date() : new Date(date), n = [], i = 0; i < t.certArr.length; i++)
283
- t.certArr[i].notBefore() <= e && e <= t.certArr[i].notAfter() && n.push(t.certArr[i])
284
- return n.length == 0 ? new CertSet() : new CertSet(n)
490
+ (this.byValidity = function (g) {
491
+ for (var f = 0 == arguments.length ? new Date() : new Date(date), d = [], e = 0; e < c.certArr.length; e++) {
492
+ c.certArr[e].notBefore() <= f && f <= c.certArr[e].notAfter() && d.push(c.certArr[e])
493
+ }
494
+ return 0 == d.length ? new CertSet() : new CertSet(d)
285
495
  }),
286
- (this.byKeyUsage = function (r) {
287
- var e = 0
288
- if (r instanceof Array) e = tcu.convKeyUsageArr2Num(r)
289
- else {
290
- if (!tcu.isNum(r)) return TCACErr.throwErr(ERRMAP.CERT_SET_FILTER_KEYUSAGE_ERROR), null
291
- e = r
292
- }
293
- for (var n = [], i = 0; i < t.certArr.length; i++) {
294
- var c = tcu.convKeyUsageArr2Num(t.certArr[i].keyUsage())
295
- ;(c & e) == e && n.push(t.certArr[i])
296
- }
297
- return n.length == 0 ? new CertSet() : new CertSet(n)
496
+ (this.byKeyUsage = function (g) {
497
+ var f = 0
498
+ if (g instanceof Array) {
499
+ f = tcu.convKeyUsageArr2Num(g)
500
+ } else {
501
+ if (!tcu.isNum(g)) {
502
+ return TCACErr.throwErr(ERRMAP.CERT_SET_FILTER_KEYUSAGE_ERROR), null
503
+ }
504
+ f = g
505
+ }
506
+ for (var d = [], e = 0; e < c.certArr.length; e++) {
507
+ ;(tcu.convKeyUsageArr2Num(c.certArr[e].keyUsage()) & f) == f && d.push(c.certArr[e])
508
+ }
509
+ return 0 == d.length ? new CertSet() : new CertSet(d)
298
510
  }),
299
511
  (this.forSign = function () {
300
512
  return this.byKeyUsage(128)
@@ -303,446 +515,623 @@ function CertSet(r) {
303
515
  return this.byKeyUsage(32)
304
516
  }),
305
517
  (this.bySubjcet = this.bySubject),
306
- (this.encryptMessage = function (r, t) {
518
+ (this.encryptMessage = function (e, d) {
307
519
  return TCACErr.throwErr(ERRMAP.UNIMPLEMENTED), null
308
520
  }),
309
- (this.encryptFile = function (r, t, e, n) {
521
+ (this.encryptFile = function (g, f, d, e) {
310
522
  return TCACErr.throwErr(ERRMAP.UNIMPLEMENTED), null
311
523
  }),
312
524
  (this.uiSelect = function () {
313
525
  return TCACErr.throwErr(ERRMAP.UNIMPLEMENTED), null
314
526
  })
315
527
  }
316
- function CertStore(r, t) {
317
- if (!tcu.isStr(r) || !tcu.isNum(t)) return TCACErr.throwErr(ERRMAP.CERTSTORE_INIT_WRONGTYPE), null
318
- var e = TCACore.getInstance()
319
- r = e.getCfg('useAlias') ? e.alias2Full(r) : r
320
- var n = {}
321
- ;(n.storeName = r),
322
- (n.storeType = t),
323
- (this.genCsr = function (r, t) {
324
- var e,
325
- i,
326
- c = TCACore.getInstance(),
327
- a = 1,
328
- s = 'topca',
329
- o = c.getCfg('genKeySpec'),
330
- A = c.getCfg('exportKeyAble') ? 1 : 0,
331
- u = 'noSet',
332
- C = c.getCfg('genCsrUseSHA256') ? TCA.SHA256 : TCA.SHA1
333
- if (arguments.length === 1)
334
- if (tcu.isStr(r))
335
- (a = 1), (e = tcu.tcaAlg2SDKAlg(r)), (i = r == TCA.SM2 ? tcu.tcaAlg2SDKAlg(TCA.SM3) : tcu.tcaAlg2SDKAlg(C))
336
- else {
337
- if (!(r instanceof Certificate)) return TCACErr.throwErr(ERRMAP.GEN_CSR_ERROR_PARAMS), null
338
- var l,
339
- T = r.publicKeyAlg(),
340
- E = r.publicKeySize()
341
- if (T === 'RSA' && E === 1024) l = TCA.RSA1024
342
- else if (T == 'RSA' && E === 2048) l = TCA.RSA2048
343
- else {
344
- if (T != 'SM2') return TCACErr.throwErr(ERRMAP.GEN_CSR_ERR_PUBKEY_ALG), null
345
- l = TCA.SM2
528
+ function CertStore(a, f) {
529
+ if (!tcu.isStr(a) || !tcu.isNum(f)) {
530
+ return TCACErr.throwErr(ERRMAP.CERTSTORE_INIT_WRONGTYPE), null
531
+ }
532
+ var c = TCACore.getInstance()
533
+ a = c.getCfg('useAlias') ? c.alias2Full(a) : a
534
+ var d = {}
535
+ function b() {
536
+ tcu.clearStore(a, f)
537
+ }
538
+ ;(d.storeName = a),
539
+ (d.storeType = f),
540
+ (this.clearStore = function () {
541
+ b()
542
+ }),
543
+ (this.genCsr = function (z, v) {
544
+ var B,
545
+ w,
546
+ m = TCACore.getInstance(),
547
+ F = 1,
548
+ H = 'topca',
549
+ G = m.getCfg('genKeySpec'),
550
+ p = m.getCfg('exportKeyAble') ? 1 : 0,
551
+ i = 'noSet',
552
+ j = m.getCfg('genCsrUseSHA256') ? TCA.SHA256 : TCA.SHA1
553
+ if (tcu.isFFKyLinFT()) {
554
+ if (1 !== arguments.length) {
555
+ return 2 !== arguments.length
556
+ ? 0 !== arguments.length
557
+ ? (TCACErr.throwErr(ERRMAP.GEN_CSR_ERROR_PARAMS), null)
558
+ : ((F = 1),
559
+ (B = tcu.tcaAlg2SDKAlg(TCA.SM2)),
560
+ (w = tcu.tcaAlg2SDKAlg(TCA.SM3)),
561
+ new Csr((h = tcu.ffKylinFT.genCsr(!0, '', w, B)).csrInfo))
562
+ : ((F = 1),
563
+ (H = v),
564
+ (B = tcu.tcaAlg2SDKAlg(z)),
565
+ (w = z == TCA.SM2 ? tcu.tcaAlg2SDKAlg(TCA.SM3) : tcu.tcaAlg2SDKAlg(j)),
566
+ new Csr((h = tcu.ffKylinFT.genCsr(!0, '', w, B)).csrInfo))
567
+ }
568
+ if (tcu.isStr(z)) {
569
+ return (
570
+ (B = tcu.tcaAlg2SDKAlg(z)),
571
+ (w = z == TCA.SM2 ? tcu.tcaAlg2SDKAlg(TCA.SM3) : tcu.tcaAlg2SDKAlg(j)),
572
+ 0 == a.indexOf('Longmai')
573
+ ? new Csr((h = tcu.ffKylinFT.genCsr(!0, '', w, B)).csrInfo)
574
+ : new Csr((h = tcu.ffKylinFT.softGenCsr(!0, '', w, B, a)).csrInfo)
575
+ )
576
+ }
577
+ if (z instanceof Certificate) {
578
+ var D = z.publicKeyAlg(),
579
+ x = z.publicKeySize()
580
+ if ('RSA' === D && 1024 === x) {
581
+ g = TCA.RSA1024
582
+ } else {
583
+ if ('RSA' == D && 2048 === x) {
584
+ g = TCA.RSA2048
585
+ } else {
586
+ if ('SM2' != D) {
587
+ return TCACErr.throwErr(ERRMAP.GEN_CSR_ERR_PUBKEY_ALG), null
588
+ }
589
+ g = TCA.SM2
590
+ }
591
+ }
592
+ return (
593
+ (B = tcu.tcaAlg2SDKAlg(g)),
594
+ (w = g == TCA.SM2 ? tcu.tcaAlg2SDKAlg(TCA.SM3) : tcu.tcaAlg2SDKAlg(j)),
595
+ (G = z._keySpec),
596
+ (i = z._keyStoreContainer),
597
+ new Csr((h = tcu.ffKylinFT.genCsr(!1, i, w, B)).csrInfo)
598
+ )
599
+ }
600
+ return TCACErr.throwErr(ERRMAP.GEN_CSR_ERROR_PARAMS), null
601
+ }
602
+ for (
603
+ var e = [
604
+ 'Longmai mToken GM3000 for HNCA CSP V1.1',
605
+ 'Longmai',
606
+ 'HSIC SKF CSP For HD Provider',
607
+ 'HSIC',
608
+ 'HaiTai Cryptographic Service Provider 20522',
609
+ 'HaiTai SKF 20522 For HunanCA'
610
+ ],
611
+ k = !1,
612
+ y = 0;
613
+ y < e.length && !(k = d.storeName == e[y]);
614
+ y++
615
+ ) {}
616
+ if (k) {
617
+ return (function (l, A, r) {
618
+ 0 == l.indexOf('Longmai') && (l = 'Longmai'),
619
+ 0 == l.indexOf('HSIC') && (l = 'HSIC'),
620
+ 0 == l.indexOf('HaiTai') && (l = 'HaiTai SKF 20522 For HunanCA'),
621
+ void 0 === r && (r = 'topca')
622
+ var t = tcu.tcaAlg2SDKAlg(A),
623
+ o = A == TCA.SM2 ? tcu.tcaAlg2SDKAlg(TCA.SM3) : tcu.tcaAlg2SDKAlg(TCA.SHA1),
624
+ s = TCACore.getInstance(),
625
+ u = 1
626
+ A instanceof Certificate && ((u = 2), (r = A.toBase64()))
627
+ var n,
628
+ C =
629
+ '{"mode" : ' +
630
+ u +
631
+ ',"subject" : "' +
632
+ r +
633
+ '","provName" : "' +
634
+ l +
635
+ '","containerName" : "","keyAlg" :' +
636
+ t +
637
+ ',"hashAlg" : ' +
638
+ o +
639
+ ',"certId" : ""}'
640
+ try {
641
+ n = s.call('skf/skfGenCsrHdl', C)
642
+ } catch (l) {
643
+ return TCACErr.throwErr(l, ERRMAP.GEN_CSR_ERROR), null
644
+ }
645
+ return new Csr(n.csrInfo)
646
+ })(d.storeName, z, v)
647
+ }
648
+ if (1 === arguments.length) {
649
+ if (tcu.isStr(z)) {
650
+ ;(F = 1), (B = tcu.tcaAlg2SDKAlg(z)), (w = z == TCA.SM2 ? tcu.tcaAlg2SDKAlg(TCA.SM3) : tcu.tcaAlg2SDKAlg(j))
651
+ } else {
652
+ if (!(z instanceof Certificate)) {
653
+ return TCACErr.throwErr(ERRMAP.GEN_CSR_ERROR_PARAMS), null
654
+ }
655
+ var g
656
+ ;(D = z.publicKeyAlg()), (x = z.publicKeySize())
657
+ if ('RSA' === D && 1024 === x) {
658
+ g = TCA.RSA1024
659
+ } else {
660
+ if ('RSA' == D && 2048 === x) {
661
+ g = TCA.RSA2048
662
+ } else {
663
+ if ('SM2' != D) {
664
+ return TCACErr.throwErr(ERRMAP.GEN_CSR_ERR_PUBKEY_ALG), null
665
+ }
666
+ g = TCA.SM2
667
+ }
346
668
  }
347
- ;(a = 2),
348
- (e = tcu.tcaAlg2SDKAlg(l)),
349
- (i = l == TCA.SM2 ? tcu.tcaAlg2SDKAlg(TCA.SM3) : tcu.tcaAlg2SDKAlg(C)),
350
- (o = r._keySpec),
351
- (u = r._keyStoreContainer)
669
+ ;(F = 2),
670
+ (B = tcu.tcaAlg2SDKAlg(g)),
671
+ (w = g == TCA.SM2 ? tcu.tcaAlg2SDKAlg(TCA.SM3) : tcu.tcaAlg2SDKAlg(j)),
672
+ (G = z._keySpec),
673
+ (i = z._keyStoreContainer)
352
674
  }
353
- else if (arguments.length === 2)
354
- (a = 1),
355
- (s = t),
356
- (e = tcu.tcaAlg2SDKAlg(r)),
357
- (i = r == TCA.SM2 ? tcu.tcaAlg2SDKAlg(TCA.SM3) : tcu.tcaAlg2SDKAlg(C))
358
- else {
359
- if (arguments.length !== 0) return TCACErr.throwErr(ERRMAP.GEN_CSR_ERROR_PARAMS), null
360
- ;(a = 1), (e = tcu.tcaAlg2SDKAlg(TCA.SM2)), (i = tcu.tcaAlg2SDKAlg(TCA.SM3))
361
- }
362
- u = u.replace(/\r/g, '\\r').replace(/\n/g, '\\n').replace(/\"/g, '\\"').replace(/\\/g, '\\\\')
363
- var R,
364
- g =
675
+ } else {
676
+ if (2 === arguments.length) {
677
+ b(),
678
+ (F = 1),
679
+ (H = v),
680
+ (B = tcu.tcaAlg2SDKAlg(z)),
681
+ (w = z == TCA.SM2 ? tcu.tcaAlg2SDKAlg(TCA.SM3) : tcu.tcaAlg2SDKAlg(j))
682
+ } else {
683
+ if (0 !== arguments.length) {
684
+ return TCACErr.throwErr(ERRMAP.GEN_CSR_ERROR_PARAMS), null
685
+ }
686
+ b(), (F = 1), (B = tcu.tcaAlg2SDKAlg(TCA.SM2)), (w = tcu.tcaAlg2SDKAlg(TCA.SM3))
687
+ }
688
+ }
689
+ i = i.replace(/\r/g, '\\r').replace(/\n/g, '\\n').replace(/\"/g, '\\"').replace(/\\/g, '\\\\')
690
+ var h,
691
+ q =
365
692
  '{"mode" : ' +
366
- a +
693
+ F +
367
694
  ',"subject" : "' +
368
- s +
695
+ H +
369
696
  '","provName" : "' +
370
- n.storeName +
697
+ d.storeName +
371
698
  '","provType" : ' +
372
- n.storeType +
699
+ d.storeType +
373
700
  ',"containerName" : "' +
374
- u +
701
+ i +
375
702
  '","keySpec" :' +
376
- o +
703
+ G +
377
704
  ',"keyAlg" :' +
378
- e +
705
+ B +
379
706
  ',"hashAlg" : ' +
380
- i +
707
+ w +
381
708
  ',"opation" : ' +
382
- A +
709
+ p +
383
710
  '}'
384
711
  try {
385
- R = c.call('Csr/genCsr', g)
386
- } catch (r) {
387
- return TCACErr.throwErr(r, ERRMAP.GEN_CSR_ERROR), null
712
+ h = m.call('Csr/genCsr', q)
713
+ } catch (z) {
714
+ return TCACErr.throwErr(z, ERRMAP.GEN_CSR_ERROR), null
388
715
  }
389
- return new Csr(R.csrInfo)
716
+ return new Csr(h.csrInfo)
390
717
  }),
391
718
  (this.listCerts = function () {
392
- for (var r = CertStore.listAllCerts(), t = [], e = 0; e < r.size(); e++) {
393
- var i = r.get(e)
394
- i._keyStoreName === n.storeName && t.push(i)
719
+ for (var i = CertStore.listAllCerts(), h = [], e = 0; e < i.size(); e++) {
720
+ var g = i.get(e)
721
+ g._keyStoreName === d.storeName && h.push(g)
395
722
  }
396
- return new CertSet(t)
723
+ return new CertSet(h)
397
724
  }),
398
725
  (this.getSupportedKeyAlgs = function () {
399
726
  return TCACErr.throwErr(ERRMAP.UNIMPLEMENTED), null
400
727
  }),
401
- (this.importPFX = function (r, t) {
402
- return (r = null), (t = null), TCACErr.throwErr(ERRMAP.UNIMPLEMENTED), null
728
+ (this.importPFX = function (g, e) {
729
+ return null, TCACErr.throwErr(ERRMAP.UNIMPLEMENTED), null
403
730
  }),
404
- (this.importPFXFile = function (r, t) {
405
- return (r = null), (t = null), TCACErr.throwErr(ERRMAP.UNIMPLEMENTED), null
731
+ (this.importPFXFile = function (g, e) {
732
+ return null, TCACErr.throwErr(ERRMAP.UNIMPLEMENTED), null
406
733
  }),
407
734
  (this.name = function () {
408
- return n.storeName
735
+ return d.storeName
409
736
  })
410
737
  }
411
- function Csr(r) {
412
- var t = {}
413
- ;(t.csrInfo = null),
414
- tcu.isObj(r) ? (t.csrInfo = r) : TCACErr.throwErr(ERRMAP.CSR_INIT_ERROR_TYPE),
415
- (this.subject = function () {
416
- return t.csrInfo.subject.winDN
417
- }),
418
- (this.toBase64 = function () {
419
- return t.csrInfo.b64
420
- })
421
- }
422
- function Pkcs7(r) {
423
- var t = {}
424
- if (((t.pkcs7Info = null), !tcu.isStr(r))) return TCACErr.throwErr(ERRMAP.PKCS7_INIT_ERROR_TYPE), null
425
- var e,
426
- n =
427
- '{"inType" : ' +
428
- (TCA.IO.MSG | TCA.IO.B64) +
429
- ', "inParam" : "' +
430
- r +
431
- '", "certs" : true, "content" : true, "b64" : false}',
432
- i = TCACore.getInstance()
433
- try {
434
- e = i.call('Pkcs7/parsePkcs7', n)
435
- } catch (r) {
436
- return TCACErr.throwErr(r, ERRMAP.LIST_CERT_ERROR), null
437
- }
438
- ;(t.pkcs7Info = e.pkcs7Info),
439
- (t.pkcs7Info.b64 = r),
440
- (this.verifyMessage = function (r) {
441
- var e,
442
- n = '',
443
- i = TCA.VERIFYOPT.CERT_IN_P7,
444
- c = TCA.IO.MSG | TCA.IO.U8
445
- void 0 != r
446
- ? ((i |= TCA.VERIFYOPT.CONTEXT_IN_INPUT), (e = r))
447
- : ((i |= TCA.VERIFYOPT.CONTEXT_IN_P7), (e = 'noSet'))
448
- var a = TCA.IO.MSG | TCA.IO.B64,
449
- s = t.pkcs7Info.b64,
450
- o = tcu.verify(n, !1, !0, 1, i, a, s, c, e)
451
- return o === null ? null : o.verifyResult ? new Certificate(o.b64Cert) : null
452
- }),
453
- (this.decryptMessage = function () {
454
- var r = ['MY', 'Address'],
455
- e = [],
456
- n = TCA.IO.MSG | TCA.IO.B64,
457
- i = t.pkcs7Info.b64,
458
- c = TCA.IO.MSG | TCA.IO.U8,
459
- a = 'noSet',
460
- s = tcu.dec(r, e, !0, n, i, c, a)
461
- return s != null ? s.result : null
462
- }),
463
- (this.contentMessage = function () {
464
- return t.pkcs7Info.isSigned && t.pkcs7Info.hasContent ? t.pkcs7Info.content : null
465
- }),
466
- (this.verify = this.verifyMessage),
467
- (this.toBase64 = function () {
468
- return t.pkcs7Info.b64
469
- })
470
- }
471
- function TCACErr(r) {
472
- ;(this._errarr = []),
473
- r instanceof TCACErr && (this._errarr = r._errarr),
474
- (this.addErr = function (r) {
475
- var t = r.code,
476
- e = r.msg
477
- ;(this.number = t > 0 ? t : 4294967296 + t),
478
- (this.description = e),
479
- this._errarr.push({ code: this.number.toString(16).toUpperCase(), msg: e })
480
- }),
481
- (this.toStr = function () {
482
- for (var r = '', t = 0; t < this._errarr.length; t++)
483
- r += this._errarr[t].msg + ', 错误码:0x' + this._errarr[t].code + ', \r\n'
484
- return r.substr(0, r.length - 4)
485
- })
486
- }
487
- function tcu() {}
488
738
  ;(CertStore.listAllCerts = function () {
489
- for (var r = TCACore.getInstance(), t = ['MY', 'Address'], e = [], n = 0; n < t.length; n++) {
490
- var i = '{"certStoreName" : "' + t[n] + '", "needB64" : true}',
491
- c = null
739
+ if (tcu.isFFKyLinFT()) {
740
+ return tcu.ffKylinFT.listAllCerts()
741
+ }
742
+ for (var b = TCACore.getInstance(), l = ['MY', 'Address'], h = [], f = 0; f < l.length; f++) {
743
+ var g = '{"certStoreName" : "' + l[f] + '", "needB64" : true}',
744
+ j = null
492
745
  try {
493
- c = r.call('CertStore/listCerts', i)
494
- } catch (r) {
495
- return TCACErr.throwErr(r, ERRMAP.LIST_CERT_ERROR), new CertSet()
746
+ j = b.call('CertStore/listCerts', g)
747
+ } catch (b) {
748
+ return TCACErr.throwErr(b, ERRMAP.LIST_CERT_ERROR), new CertSet()
496
749
  }
497
- for (var a = c.certArr, s = 0; s < a.length; s++) {
498
- ;(a[s].notBefore = new Date(a[s].notBefore)), (a[s].notAfter = new Date(a[s].notAfter))
499
- var o = new Certificate(a[s])
500
- r.certInLic(o) && e.push(o)
750
+ for (var k = j.certArr, d = 0; d < k.length; d++) {
751
+ ;(k[d].notBefore = new Date(k[d].notBefore)), (k[d].notAfter = new Date(k[d].notAfter))
752
+ var m = new Certificate(k[d])
753
+ b.certInLic(m) && h.push(m)
501
754
  }
502
755
  }
503
- return new CertSet(e)
756
+ return new CertSet(h)
504
757
  }),
505
- (CertStore.listStore = function (r) {
506
- for (var t = CertStore.listKeyStore(r), e = [], n = 0; n < t.length; n++) e.push(t[n].name)
507
- return e
758
+ (CertStore.listStore = function (d) {
759
+ var c
760
+ c = tcu.isFFKyLinFT() ? tcu.ffKylinFT.listKeyStore() : CertStore.listKeyStore(d)
761
+ for (var a = [], b = 0; b < c.length; b++) {
762
+ a.push(c[b].name)
763
+ }
764
+ return a
508
765
  }),
509
- (CertStore.byName = function (r) {
510
- for (var t = CertStore.listKeyStore(!1), e = 0; e < t.length; e++)
511
- if (r === t[e].name) return new CertStore(t[e].name, t[e].type)
766
+ (CertStore.byName = function (c) {
767
+ var b
768
+ b = tcu.isFFKyLinFT() ? tcu.ffKylinFT.listKeyStore() : CertStore.listKeyStore()
769
+ for (var a = 0; a < b.length; a++) {
770
+ if (c === b[a].name) {
771
+ return new CertStore(b[a].name, b[a].type)
772
+ }
773
+ }
512
774
  return null
513
775
  }),
514
- (CertStore.byCert = function (r) {
515
- return r instanceof Certificate
516
- ? new CertStore(r._keyStoreName, r._keyStoreType)
776
+ (CertStore.byCert = function (a) {
777
+ return a instanceof Certificate
778
+ ? new CertStore(a._keyStoreName, a._keyStoreType)
517
779
  : (TCACErr.throwErr(ERRMAP.BY_CERT_ERR_TYPE), null)
518
780
  }),
519
- (CertStore.installCert = function (r, t, e) {
520
- var n,
521
- i,
522
- c = TCACore.getInstance()
523
- if (arguments.length === 1)
524
- (n = 'InstallSignCert/installSignCert'),
525
- r instanceof Certificate && (r = r.toBase64()),
526
- (i = '{"certStoreName" : "MY", "caCertStoreName" : "Ca", "b64SignCertP7" : "' + r + '"}')
527
- else {
528
- if (arguments.length !== 3) return TCACErr.throwErr(ERRMAP.INSTALL_CERT_ERR_PARAMS), null
529
- n = 'InstallEncCert/installEncCert'
530
- for (var a = e.split('&'), s = {}, o = 0; o < a.length; o++) {
531
- var A = a[o].split('=')
532
- s[A[0]] = tcu.urlDec(A[1])
533
- }
534
- var u,
535
- C = s.userSeal,
536
- l = s.encPrivateKeyUser,
537
- T = s.userCipher,
538
- E = s.userIV
539
- switch (T) {
781
+ (CertStore.installCert = function (h, p, F) {
782
+ if (tcu.isFFKyLinFT()) {
783
+ if (1 == arguments.length) {
784
+ return new Certificate((D = tcu.ffKylinFT.installSign(h)).certAndKeyInfo.cert.b64)
785
+ }
786
+ if (3 !== arguments.length) {
787
+ return TCACErr.throwErr(ERRMAP.INSTALL_CERT_ERR_PARAMS), null
788
+ }
789
+ for (var j = F.split('&'), v = {}, d = 0; d < j.length; d++) {
790
+ v[(w = j[d].split('='))[0]] = tcu.urlDec(w[1])
791
+ }
792
+ var z = v.userSeal,
793
+ g = v.encPrivateKeyUser,
794
+ x = v.userCipher,
795
+ B = v.userIV
796
+ switch (x) {
540
797
  case 'AES':
541
798
  case 'AES_128':
542
- u = TCA.AES
799
+ y = TCA.AES
543
800
  break
544
801
  case 'DES':
545
- u = TCA.DES
802
+ y = TCA.DES
546
803
  break
547
804
  case 'DESEDE':
548
805
  case 'DES3':
549
806
  case '3DES':
550
- u = TCA.DES3
807
+ y = TCA.DES3
551
808
  break
552
809
  case 'SM4':
553
810
  case 'SMS4':
554
- u = TCA.SM4
811
+ y = TCA.SM4
555
812
  break
556
813
  case 'SM1':
557
- u = TCA.SM1
814
+ y = TCA.SM1
558
815
  break
559
816
  case 'rc2':
560
817
  case 'AES_192':
561
818
  case 'AES_256':
562
819
  return TCACErr.throwErr(ERRMAP.INSTALL_CERT_ERR_UNKNOWN_SYMMALG), null
563
820
  default:
564
- u = TCA.AES
565
- }
566
- u = tcu.tcaAlg2SDKAlg(u)
567
- var R,
568
- g = new Certificate(r),
569
- S = g._keyStoreName
570
- ;(R = S.indexOf('Microsoft') >= 0 || S.indexOf('iTrus') >= 0 || S == 'RSA' ? 1 : c.getCfg('installMode') ? 2 : 1),
571
- (i =
572
- '{"certStoreName" : "MY", "mode" : ' +
573
- R +
574
- ', "b64SignCert" : "' +
575
- r +
576
- '", "b64UserSeal" : "' +
577
- C +
578
- '", "b64EncUserCert" : "' +
579
- t +
580
- '", "b64EncUserPrivateKey" : "' +
581
- l +
582
- '", "symmAlg" : ' +
583
- u +
584
- ', "b64IV" : "' +
585
- E +
586
- '"}')
587
- }
588
- var f
821
+ y = TCA.AES
822
+ }
823
+ return (
824
+ (y = tcu.tcaAlg2SDKAlg(y)),
825
+ new Certificate((D = tcu.ffKylinFT.installEnc(h, p, z, B, y, g)).certAndKeyInfo.cert.b64)
826
+ )
827
+ }
828
+ var k,
829
+ b,
830
+ D,
831
+ m = TCACore.getInstance()
832
+ if (1 === arguments.length) {
833
+ ;(k = 'InstallSignCert/installSignCert'),
834
+ (b = '{"certStoreName" : "MY", "caCertStoreName" : "Ca", "b64SignCertP7" : "' + h + '"}')
835
+ } else {
836
+ if (3 !== arguments.length) {
837
+ return TCACErr.throwErr(ERRMAP.INSTALL_CERT_ERR_PARAMS), null
838
+ }
839
+ k = 'InstallEncCert/installEncCert'
840
+ for (j = F.split('&'), v = {}, d = 0; d < j.length; d++) {
841
+ var w
842
+ v[(w = j[d].split('='))[0]] = tcu.urlDec(w[1])
843
+ }
844
+ var y
845
+ ;(z = v.userSeal), (g = v.encPrivateKeyUser), (x = v.userCipher), (B = v.userIV)
846
+ switch (x) {
847
+ case 'AES':
848
+ case 'AES_128':
849
+ y = TCA.AES
850
+ break
851
+ case 'DES':
852
+ y = TCA.DES
853
+ break
854
+ case 'DESEDE':
855
+ case 'DES3':
856
+ case '3DES':
857
+ y = TCA.DES3
858
+ break
859
+ case 'SM4':
860
+ case 'SMS4':
861
+ y = TCA.SM4
862
+ break
863
+ case 'SM1':
864
+ y = TCA.SM1
865
+ break
866
+ case 'rc2':
867
+ case 'AES_192':
868
+ case 'AES_256':
869
+ return TCACErr.throwErr(ERRMAP.INSTALL_CERT_ERR_UNKNOWN_SYMMALG), null
870
+ default:
871
+ y = TCA.AES
872
+ }
873
+ y = tcu.tcaAlg2SDKAlg(y)
874
+ var q = new Certificate(h)._keyStoreName
875
+ b =
876
+ '{"certStoreName" : "MY", "mode" : ' +
877
+ (0 <= q.indexOf('Microsoft') || 0 <= q.indexOf('iTrus') || 'RSA' == q ? 1 : m.getCfg('installMode') ? 2 : 1) +
878
+ ', "b64SignCert" : "' +
879
+ h +
880
+ '", "b64UserSeal" : "' +
881
+ z +
882
+ '", "b64EncUserCert" : "' +
883
+ p +
884
+ '", "b64EncUserPrivateKey" : "' +
885
+ g +
886
+ '", "symmAlg" : ' +
887
+ y +
888
+ ', "b64IV" : "' +
889
+ B +
890
+ '"}'
891
+ }
589
892
  try {
590
- f = c.call(n, i)
591
- } catch (r) {
592
- return TCACErr.throwErr(r, ERRMAP.INSTALL_CERT_ERR), null
893
+ D = m.call(k, b)
894
+ } catch (h) {
895
+ return TCACErr.throwErr(h, ERRMAP.INSTALL_CERT_ERR), null
593
896
  }
594
- return f.onlyCertChain ? null : new Certificate(f.certInfo)
897
+ return D.onlyCertChain ? null : new Certificate(D.certInfo)
595
898
  }),
596
- (CertStore.listKeyStore = function (r) {
597
- var t = TCACore.getInstance(),
598
- e = '{"mode" : 1 }',
599
- n = null
899
+ (CertStore.listKeyStore = function (b) {
900
+ var l = TCACore.getInstance(),
901
+ h = null
600
902
  try {
601
- n = t.call('KeyStore/listKeyStore', e)
602
- } catch (r) {
603
- return TCACErr.throwErr(r, ERRMAP.LIST_STORE_ERROR), []
903
+ h = l.call('KeyStore/listKeyStore', '{"mode" : 1 }')
904
+ } catch (b) {
905
+ return TCACErr.throwErr(b, ERRMAP.LIST_STORE_ERROR), []
906
+ }
907
+ var f = h.keyStoreArr
908
+ l.setKeyStoreListCache(f), (b = !l.getCfg('disableWhiteList') && b)
909
+ for (var g = l.getCfg('whiteList'), j = l.getCfg('useAlias'), k = [], d = 0; d < f.length; d++) {
910
+ var m = f[d].name
911
+ b
912
+ ? tcu.strInList(m, g) && k.push({ name: j ? l.full2Alias(m) : m, type: f[d].type })
913
+ : k.push({ name: j ? l.full2Alias(m) : m, type: f[d].type })
604
914
  }
605
- var i = n.keyStoreArr
606
- t.setKeyStoreListCache(i), (r = !t.getCfg('disableWhiteList') && r)
607
- for (var c = t.getCfg('whiteList'), a = t.getCfg('useAlias'), s = [], o = 0; o < i.length; o++) {
608
- var A = i[o].name
609
- r
610
- ? tcu.strInList(A, c) && s.push({ name: a ? t.full2Alias(A) : A, type: i[o].type })
611
- : s.push({ name: a ? t.full2Alias(A) : A, type: i[o].type })
915
+ return k
916
+ }),
917
+ (CertStore.importP12 = function (e, d, f) {
918
+ if (tcu.isFFKyLinFT()) {
919
+ var a = void 0 === f ? TCA.IO.MSG | TCA.IO.B64 : TCA.IO.FILE | f
920
+ var c = tcu.ffKylinFT.softImportP12(e, a, d)
921
+ var b = new Certificate(tcu.ffKylinFT.convCertInfo(c.certAndKeyInfo))
922
+ return b
612
923
  }
613
- return s
924
+ return null, TCACErr.throwErr(ERRMAP.UNIMPLEMENTED), null
614
925
  })
926
+ CertStore.getDriveVersion = function () {
927
+ if (tcu.isFFKyLinFT()) {
928
+ return tcu.ffKylinFT.getDriveVersion()
929
+ }
930
+ return null, TCACErr.throwErr(ERRMAP.UNIMPLEMENTED), null
931
+ }
615
932
  var CryptoUtil = {}
616
- ;(CryptoUtil.random = function (r) {
617
- var t = tcu.random(r)
618
- return t != null ? t.result : null
933
+ function Csr(b) {
934
+ var a = { csrInfo: null }
935
+ tcu.isObj(b) ? (a.csrInfo = b) : TCACErr.throwErr(ERRMAP.CSR_INIT_ERROR_TYPE),
936
+ (this.subject = function () {
937
+ return a.csrInfo.subject.winDN
938
+ }),
939
+ (this.toBase64 = function () {
940
+ return a.csrInfo.b64
941
+ })
942
+ }
943
+ function Pkcs7(f) {
944
+ var d,
945
+ b = { pkcs7Info: null }
946
+ if (!tcu.isStr(f)) {
947
+ return TCACErr.throwErr(ERRMAP.PKCS7_INIT_ERROR_TYPE), null
948
+ }
949
+ if (tcu.isFFKyLinFT()) {
950
+ ;(d = tcu.ffKylinFT.parseP7(f)).pkcs7Info = d
951
+ } else {
952
+ var a =
953
+ '{"inType" : ' +
954
+ (TCA.IO.MSG | TCA.IO.B64) +
955
+ ', "inParam" : "' +
956
+ f +
957
+ '", "certs" : true, "content" : true, "b64" : false}',
958
+ c = TCACore.getInstance()
959
+ try {
960
+ d = c.call('Pkcs7/parsePkcs7', a)
961
+ } catch (f) {
962
+ return TCACErr.throwErr(f, ERRMAP.LIST_CERT_ERROR), null
963
+ }
964
+ }
965
+ ;(b.pkcs7Info = d.pkcs7Info),
966
+ (b.pkcs7Info.b64 = f),
967
+ (this.verifyMessage = function (l) {
968
+ var j,
969
+ e = TCA.VERIFYOPT.CERT_IN_P7,
970
+ i = TCA.IO.MSG | TCA.IO.U8
971
+ j = null != l ? ((e |= TCA.VERIFYOPT.CONTEXT_IN_INPUT), l) : ((e |= TCA.VERIFYOPT.CONTEXT_IN_P7), 'noSet')
972
+ var h,
973
+ g = TCA.IO.MSG | TCA.IO.B64,
974
+ k = b.pkcs7Info.b64
975
+ return tcu.isFFKyLinFT()
976
+ ? (h = tcu.ffKylinFT.verify('', i, j, g, k, !1, e, 1, !1)).verifyResult
977
+ ? new Certificate(h.resultCert)
978
+ : null
979
+ : null === (h = tcu.verify('', !1, !0, 1, e, g, k, i, j))
980
+ ? null
981
+ : h.verifyResult
982
+ ? new Certificate(h.b64Cert)
983
+ : null
984
+ }),
985
+ (this.decryptMessage = function () {
986
+ var i,
987
+ h = TCA.IO.MSG | TCA.IO.B64,
988
+ e = b.pkcs7Info.b64,
989
+ g = TCA.IO.MSG | TCA.IO.U8
990
+ return tcu.isFFKyLinFT()
991
+ ? (i = tcu.ffKylinFT.dec(!0, h, e, g, 'noSet', '')).result
992
+ : null != (i = tcu.dec(['MY', 'Address'], [], !0, h, e, g, 'noSet'))
993
+ ? i.result
994
+ : null
995
+ }),
996
+ (this.contentMessage = function () {
997
+ return b.pkcs7Info.isSigned && b.pkcs7Info.hasContent ? b.pkcs7Info.content : null
998
+ }),
999
+ (this.verify = this.verifyMessage),
1000
+ (this.toBase64 = function () {
1001
+ return b.pkcs7Info.b64
1002
+ })
1003
+ }
1004
+ ;(CryptoUtil.random = function (b) {
1005
+ var a = tcu.random(b)
1006
+ return null != a ? a.result : null
619
1007
  }),
620
- (CryptoUtil.symmEnc = function (r, t, e, n) {
621
- var i = TCA.IO.FILE | TCA.IO.BIN,
622
- c = n,
623
- a = TCA.IO.MSG | TCA.IO.B64,
624
- s = 'noSet'
625
- e = tcu.tcaAlg2SDKAlg(e)
626
- var o = tcu.symm(r, t, e, !0, i, c, a, s)
627
- return o != null ? o.result : null
628
- }),
629
- (CryptoUtil.symmEncFile2File = function (r, t, e, n, i) {
630
- var c = TCA.IO.FILE | TCA.IO.BIN,
631
- a = n,
632
- s = TCA.IO.FILE | TCA.IO.BIN,
633
- o = i
634
- e = tcu.tcaAlg2SDKAlg(e)
635
- var A = tcu.symm(r, t, e, !0, c, a, s, o)
636
- return A != null
637
- }),
638
- (CryptoUtil.symmDec = function (r, t, e, n, i) {
639
- var c = TCA.IO.MSG | TCA.IO.B64,
640
- a = n,
641
- s = TCA.IO.FILE | TCA.IO.BIN,
642
- o = i
643
- e = tcu.tcaAlg2SDKAlg(e)
644
- var A = tcu.symm(r, t, e, !1, c, a, s, o)
645
- return A != null ? A.result : null
646
- }),
647
- (CryptoUtil.symmDecFile2File = function (r, t, e, n, i) {
648
- var c = TCA.IO.FILE | TCA.IO.BIN,
649
- a = n,
650
- s = TCA.IO.FILE | TCA.IO.BIN,
651
- o = i
652
- e = tcu.tcaAlg2SDKAlg(e)
653
- var A = tcu.symm(r, t, e, !1, c, a, s, o)
654
- return A != null
655
- }),
656
- (Pkcs7.verifyFile = function (r, t, e, n) {
657
- var i,
658
- c = '',
659
- a = TCA.VERIFYOPT.CERT_IN_P7,
660
- s = TCA.IO.FILE | TCA.IO.BIN
661
- void 0 != t ? ((a |= TCA.VERIFYOPT.CONTEXT_IN_INPUT), (i = t)) : ((a |= TCA.VERIFYOPT.CONTEXT_IN_P7), (i = 'noSet'))
662
- var o = TCA.IO.FILE | TCA.IO.BIN,
663
- A = r,
664
- u = tcu.verify(c, !1, !0, 1, a, o, A, s, i)
665
- return u === null ? null : u.verifyResult ? new Certificate(u.b64Cert) : null
666
- }),
667
- (Pkcs7.verifyFileEx = function (r, t, e, n) {
668
- var i = '',
669
- c = TCA.VERIFYOPT.CERT_IN_P7 | TCA.VERIFYOPT.CONTEXT_IN_INPUT,
670
- a = TCA.IO.FILE | TCA.IO.BIN,
671
- s = t,
672
- o = TCA.IO.MSG | TCA.IO.B64,
673
- A = r,
674
- u = tcu.verify(i, !1, !0, 1, c, o, A, a, s)
675
- return u === null ? null : u.verifyResult ? new Certificate(u.b64Cert) : null
1008
+ (CryptoUtil.symmEnc = function (l, j, b, k) {
1009
+ var h = TCA.IO.FILE | TCA.IO.BIN,
1010
+ g = k,
1011
+ d = TCA.IO.MSG | TCA.IO.B64
1012
+ b = tcu.tcaAlg2SDKAlg(b)
1013
+ var f = tcu.symm(l, j, b, !0, h, g, d, 'noSet')
1014
+ return null != f ? f.result : null
676
1015
  }),
677
- (Pkcs7.contentFile = function (r, t, e) {
1016
+ (CryptoUtil.symmEncFile2File = function (b, l, h, f, g) {
1017
+ var j = TCA.IO.FILE | TCA.IO.BIN,
1018
+ k = f,
1019
+ d = TCA.IO.FILE | TCA.IO.BIN,
1020
+ m = g
1021
+ return (h = tcu.tcaAlg2SDKAlg(h)), null != tcu.symm(b, l, h, !0, j, k, d, m)
1022
+ }),
1023
+ (CryptoUtil.symmDec = function (m, k, f, b, d) {
1024
+ var g = TCA.IO.MSG | TCA.IO.B64,
1025
+ h = b,
1026
+ p = TCA.IO.FILE | TCA.IO.BIN,
1027
+ l = d
1028
+ f = tcu.tcaAlg2SDKAlg(f)
1029
+ var j = tcu.symm(m, k, f, !1, g, h, p, l)
1030
+ return null != j ? j.result : null
1031
+ }),
1032
+ (CryptoUtil.symmDecFile2File = function (b, l, h, f, g) {
1033
+ var j = TCA.IO.FILE | TCA.IO.BIN,
1034
+ k = f,
1035
+ d = TCA.IO.FILE | TCA.IO.BIN,
1036
+ m = g
1037
+ return (h = tcu.tcaAlg2SDKAlg(h)), null != tcu.symm(b, l, h, !1, j, k, d, m)
1038
+ }),
1039
+ (Pkcs7.verifyFile = function (m, k, f, b) {
1040
+ var d,
1041
+ g = TCA.VERIFYOPT.CERT_IN_P7,
1042
+ h = TCA.IO.FILE | TCA.IO.BIN
1043
+ d = null != k ? ((g |= TCA.VERIFYOPT.CONTEXT_IN_INPUT), k) : ((g |= TCA.VERIFYOPT.CONTEXT_IN_P7), 'noSet')
1044
+ var p = TCA.IO.FILE | TCA.IO.BIN,
1045
+ l = m,
1046
+ j = tcu.verify('', !1, !0, 1, g, p, l, h, d)
1047
+ return tcu.isFFKyLinFT()
1048
+ ? (j = tcu.ffKylinFT.verify('', h, d, p, l, !1, g, 1, !1)).verifyResult
1049
+ ? new Certificate(j.resultCert)
1050
+ : null
1051
+ : null === j
1052
+ ? null
1053
+ : j.verifyResult
1054
+ ? new Certificate(j.b64Cert)
1055
+ : null
1056
+ }),
1057
+ (Pkcs7.verifyFileEx = function (m, k, f, b) {
1058
+ var d,
1059
+ g = TCA.VERIFYOPT.CERT_IN_P7 | TCA.VERIFYOPT.CONTEXT_IN_INPUT,
1060
+ h = TCA.IO.FILE | TCA.IO.BIN,
1061
+ p = k,
1062
+ l = TCA.IO.MSG | TCA.IO.B64,
1063
+ j = m
1064
+ return tcu.isFFKyLinFT()
1065
+ ? (d = tcu.ffKylinFT.verify('', h, p, l, j, !1, g, 1, !1)).verifyResult
1066
+ ? new Certificate(d.resultCert)
1067
+ : null
1068
+ : null === (d = tcu.verify('', !1, !0, 1, g, l, j, h, p))
1069
+ ? null
1070
+ : d.verifyResult
1071
+ ? new Certificate(d.b64Cert)
1072
+ : null
1073
+ }),
1074
+ (Pkcs7.contentFile = function (c, b, a) {
678
1075
  return TCACErr.throwErr(ERRMAP.UNIMPLEMENTED), null
679
1076
  }),
680
- (Pkcs7.decryptFile = function (r, t, e) {
681
- e = void 0 === e ? TCA.IO.BIN : e
682
- var n = ['MY', 'Address'],
683
- i = [''],
684
- c = TCA.IO.FILE | e,
685
- a = r,
686
- s = TCA.IO.FILE | e,
687
- o = t,
688
- A = tcu.dec(n, i, !0, c, a, s, o)
689
- return A != null
1077
+ (Pkcs7.decryptFile = function (f, b, g) {
1078
+ g = void 0 === g ? TCA.IO.BIN : g
1079
+ var k = TCA.IO.FILE | g,
1080
+ j = f,
1081
+ h = TCA.IO.FILE | g,
1082
+ d = b
1083
+ return null != tcu.dec(['MY', 'Address'], [''], !0, k, j, h, d)
690
1084
  })
691
- var TCA = {}
692
- ;(TCA.config = function (r) {
693
- TCACore.getInstance(r)
694
- }),
695
- (TCA.GetJSVersion = function () {
696
- return '3.7.5'
697
- }),
698
- (TCA.GetClientVersion = function () {
699
- return TCACore.getInstance().GetClientVersion()
700
- }),
701
- (TCA.SM1 = 'SM1'),
702
- (TCA.SM4 = 'SM4'),
703
- (TCA.DES = 'DES'),
704
- (TCA.DES3 = '3DES'),
705
- (TCA.AES = 'AES'),
706
- (TCA.RC4 = 'RC4'),
707
- (TCA.SM2 = 'SM2'),
708
- (TCA.RSA1024 = 'RSA1024'),
709
- (TCA.RSA2048 = 'RSA2048'),
710
- (TCA.SHA256 = 'SHA256'),
711
- (TCA.SHA1 = 'SHA1'),
712
- (TCA.SM3 = 'SM3'),
713
- (TCA.MD5 = 'MD5'),
714
- (TCA.digitalSignature = 128),
715
- (TCA.nonRepudiation = 64),
716
- (TCA.keyEncipherment = 32),
717
- (TCA.dataEncipherment = 16),
718
- (TCA.keyAgreement = 8),
719
- (TCA.keyCertSign = 4),
720
- (TCA.cRLSign = 2),
721
- (TCA.encipherOnly = 1),
722
- (TCA.decipherOnly = 32768),
723
- (TCA.contentCommitment = 64),
724
- (TCA.serverAuth = '1.3.6.1.5.5.7.3.1'),
725
- (TCA.clientAuth = '1.3.6.1.5.5.7.3.2'),
726
- (TCA.codeSigning = '1.3.6.1.5.5.7.3.3'),
727
- (TCA.emailProtection = '1.3.6.1.5.5.7.3.4'),
728
- (TCA.ipsecEndSystem = '1.3.6.1.5.5.7.3.5'),
729
- (TCA.ipsecTunnel = '1.3.6.1.5.5.7.3.6'),
730
- (TCA.ipsecUser = '1.3.6.1.5.5.7.3.7'),
731
- (TCA.timeStamping = '1.3.6.1.5.5.7.3.8'),
732
- (TCA.OCSPSigning = '1.3.6.1.5.5.7.3.9'),
733
- (TCA.dvcs = '1.3.6.1.5.5.7.3.10'),
734
- (TCA.sbgpCertAAServerAuth = '1.3.6.1.5.5.7.3.11'),
735
- (TCA.scvpResponder = '1.3.6.1.5.5.7.3.12'),
736
- (TCA.eapOverPPP = '1.3.6.1.5.5.7.3.13'),
737
- (TCA.eapOverLAN = '1.3.6.1.5.5.7.3.14'),
738
- (TCA.scvpServer = '1.3.6.1.5.5.7.3.15'),
739
- (TCA.scvpClient = '1.3.6.1.5.5.7.3.16'),
740
- (TCA.ipsecIKE = '1.3.6.1.5.5.7.3.17'),
741
- (TCA.capwapAC = '1.3.6.1.5.5.7.3.18'),
742
- (TCA.capwapWTP = '1.3.6.1.5.5.7.3.19'),
743
- (TCA.smartcardlogon = '1.3.6.1.4.1.311.20.2.2'),
744
- (TCA.EX = {}),
745
- (TCA.EX.szOID_RSA_MD5RSA = '1.2.840.113549.1.1.4'),
1085
+ var TCA = {
1086
+ config: function (a) {
1087
+ TCACore.getInstance(a)
1088
+ },
1089
+ SM1: 'SM1',
1090
+ SM4: 'SM4',
1091
+ DES: 'DES',
1092
+ DES3: '3DES',
1093
+ AES: 'AES',
1094
+ RC4: 'RC4',
1095
+ SM2: 'SM2',
1096
+ RSA1024: 'RSA1024',
1097
+ RSA2048: 'RSA2048',
1098
+ SHA256: 'SHA256',
1099
+ SHA1: 'SHA1',
1100
+ SM3: 'SM3',
1101
+ MD5: 'MD5',
1102
+ digitalSignature: 128,
1103
+ nonRepudiation: 64,
1104
+ keyEncipherment: 32,
1105
+ dataEncipherment: 16,
1106
+ keyAgreement: 8,
1107
+ keyCertSign: 4,
1108
+ cRLSign: 2,
1109
+ encipherOnly: 1,
1110
+ decipherOnly: 32768,
1111
+ contentCommitment: 64,
1112
+ serverAuth: '1.3.6.1.5.5.7.3.1',
1113
+ clientAuth: '1.3.6.1.5.5.7.3.2',
1114
+ codeSigning: '1.3.6.1.5.5.7.3.3',
1115
+ emailProtection: '1.3.6.1.5.5.7.3.4',
1116
+ ipsecEndSystem: '1.3.6.1.5.5.7.3.5',
1117
+ ipsecTunnel: '1.3.6.1.5.5.7.3.6',
1118
+ ipsecUser: '1.3.6.1.5.5.7.3.7',
1119
+ timeStamping: '1.3.6.1.5.5.7.3.8',
1120
+ OCSPSigning: '1.3.6.1.5.5.7.3.9',
1121
+ dvcs: '1.3.6.1.5.5.7.3.10',
1122
+ sbgpCertAAServerAuth: '1.3.6.1.5.5.7.3.11',
1123
+ scvpResponder: '1.3.6.1.5.5.7.3.12',
1124
+ eapOverPPP: '1.3.6.1.5.5.7.3.13',
1125
+ eapOverLAN: '1.3.6.1.5.5.7.3.14',
1126
+ scvpServer: '1.3.6.1.5.5.7.3.15',
1127
+ scvpClient: '1.3.6.1.5.5.7.3.16',
1128
+ ipsecIKE: '1.3.6.1.5.5.7.3.17',
1129
+ capwapAC: '1.3.6.1.5.5.7.3.18',
1130
+ capwapWTP: '1.3.6.1.5.5.7.3.19',
1131
+ smartcardlogon: '1.3.6.1.4.1.311.20.2.2',
1132
+ EX: {}
1133
+ }
1134
+ ;(TCA.EX.szOID_RSA_MD5RSA = '1.2.840.113549.1.1.4'),
746
1135
  (TCA.EX.szOID_RSA_SHA1RSA = '1.2.840.113549.1.1.5'),
747
1136
  (TCA.EX.szOID_SM2_SM3SM2 = '1.2.156.10197.1.501'),
748
1137
  (TCA.EX.INPUT_BASE64 = 1),
@@ -810,67 +1199,74 @@ var TCA = {}
810
1199
  '1.3.6.1.5.5.7.3.19': 'capwapWTP',
811
1200
  '1.3.6.1.4.1.311.20.2.2': 'smartcardlogon'
812
1201
  }),
813
- (TCA.filter2Str = function (r) {
814
- for (var t = '', e = 0; e < r.length; e++) {
815
- var n = r[e],
816
- i = ''
817
- for (var c in n) i += n[c] + '|'
818
- t += i
1202
+ (TCA.filter2Str = function (a) {
1203
+ for (var h = '', b = 0; b < a.length; b++) {
1204
+ var f = a[b],
1205
+ g = ''
1206
+ for (var d in f) {
1207
+ g += f[d] + '|'
1208
+ }
1209
+ h += g
819
1210
  }
820
- return t
1211
+ return h
821
1212
  }),
822
- (TCA.doFileDialog = function (r, t, e, n) {
823
- function i(r) {
824
- var t = r.result != ''
825
- e(t, r.result)
826
- }
827
- e == null && TCACErr.throwErr(ERRMAP.ERROR_NULL_CALLBACK),
828
- (t !== null && tcu.isArr(t)) || (t = [{ typeTxt: 'All(*.*)', typeExt: '*.*' }])
829
- var c = TCA.filter2Str(t),
830
- a = { isOpen: n, title: r, filter: c }
831
- a = tcu.json2Str(a)
832
- var s = TCACore.getInstance()
1213
+ (TCA.doFileDialog = function (a, h, b, f) {
1214
+ null == b && TCACErr.throwErr(ERRMAP.ERROR_NULL_CALLBACK),
1215
+ (null !== h && tcu.isArr(h)) || (h = [{ typeTxt: 'All(*.*)', typeExt: '*.*' }])
1216
+ var g = { isOpen: f, title: a, filter: TCA.filter2Str(h) }
1217
+ g = tcu.json2Str(g)
1218
+ var d = TCACore.getInstance()
833
1219
  try {
834
- s.callAsyn('FileUtil/SelFile', a, i)
835
- } catch (r) {
836
- return TCACErr.throwErr(r, ERRMAP.ERROR_FILE_DIALOG), null
1220
+ d.callAsyn('FileUtil/SelFile', g, function (e) {
1221
+ var c = '' != e.result
1222
+ b(c, e.result)
1223
+ })
1224
+ } catch (a) {
1225
+ return TCACErr.throwErr(a, ERRMAP.ERROR_FILE_DIALOG), null
837
1226
  }
838
1227
  }),
839
- (TCA.showOpenDialog = function (r, t, e) {
840
- ;(r !== null && r !== '') || (r = '打开'), TCA.doFileDialog(r, t, e, !0)
1228
+ (TCA.showOpenDialog = function (c, b, a) {
1229
+ ;(null !== c && '' !== c) || (c = '打开'), TCA.doFileDialog(c, b, a, !0)
841
1230
  }),
842
- (TCA.showSaveDialog = function (r, t, e) {
843
- ;(r !== null && r !== '') || (r = '关闭'), TCA.doFileDialog(r, t, e, !1)
1231
+ (TCA.showSaveDialog = function (c, b, a) {
1232
+ ;(null !== c && '' !== c) || (c = '关闭'), TCA.doFileDialog(c, b, a, !1)
844
1233
  })
845
1234
  var TCACore = (function () {
1235
+ var priData = {}
846
1236
  function saveConfig(r) {
847
- ;(priData.config = {}),
848
- (priData.config.ajaxHdl = void 0 !== r.ajaxHdl ? r.ajaxHdl : tcu.ajax),
849
- (priData.config.str2JsonHdl = void 0 !== r.str2JsonHdl ? r.str2JsonHdl : tcu.convStr2Json),
850
- (priData.config.certkitClsID = '40CAB063-EF31-4ff6-B512-E1E4E454EB19'),
851
- (priData.config.certKitSrvHost = '127.0.0.1'),
852
- (priData.config.certKitSrvPort = '9655'),
1237
+ function t() {
1238
+ return 0 < window.navigator.userAgent.indexOf('Linux')
1239
+ }
1240
+ for (var e in ((priData.config = {}),
1241
+ (priData.config.ajaxHdl = void 0 !== r.ajaxHdl ? r.ajaxHdl : tcu.ajax),
1242
+ (priData.config.str2JsonHdl = void 0 !== r.str2JsonHdl ? r.str2JsonHdl : tcu.convStr2Json),
1243
+ (priData.config.certkitClsID = '40CAB063-EF31-4ff6-B512-E1E4E454EB19'),
1244
+ (priData.config.certKitSrvHost = '127.0.0.1'),
1245
+ (priData.config.certKitSrvPort = t() ? '19657' : '9655'),
1246
+ (priData.config.certKitSrvUrl =
1247
+ 'https://' + priData.config.certKitSrvHost + ':' + priData.config.certKitSrvPort + '/'),
1248
+ t() &&
853
1249
  (priData.config.certKitSrvUrl =
854
- 'https://' + priData.config.certKitSrvHost + ':' + priData.config.certKitSrvPort + '/'),
855
- (priData.config.certKitSrvVer = '3.6.0.2'),
856
- (priData.config.certKitActiveXVer = '3.7.3.0'),
857
- (priData.config.licver = '3.6.0.2'),
858
- (priData.config.licsoftver = '3.6.0.2'),
859
- (priData.config.selfNameFmt = 'TopCertKit-\\d+(\\.\\d+)*.js'),
860
- (priData.config.selfPath = getSelfPath()),
861
- (priData.config.useAlias = void 0 === r.useAlias || r.useAlias),
862
- (priData.config.disableExeUrl = void 0 !== r.disableExeUrl && r.disableExeUrl),
863
- void 0 !== r.cspAlias
864
- ? (priData.config.cspAlias = r.cspAlias)
865
- : (priData.config.cspAlias = {
866
- RSA软证书: 'Microsoft Enhanced Cryptographic Provider v1.0',
867
- '飞天 ePass 3000 GM': 'EnterSafe ePass3000GM CSP v1.0',
868
- '华大智宝 SJK102': 'CIDC Cryptographic Service Provider v3.0.0',
869
- SM2软证书: 'iTrusChina Cryptographic Service Provider v1.0.0',
870
- 神州龙芯: 'ChinaCpu USB Key CSP v1.0'
871
- }),
872
- (priData.config.addCspAlias = void 0 !== r.addCspAlias ? r.addCspAlias : {})
873
- for (var t in priData.config.addCspAlias) priData.config.cspAlias[t] = priData.config.addCspAlias[t]
1250
+ 'http://' + priData.config.certKitSrvHost + ':' + priData.config.certKitSrvPort + '/'),
1251
+ (priData.config.certKitSrvVer = '3.6.0.2'),
1252
+ (priData.config.certKitActiveXVer = '3.6.0.2'),
1253
+ (priData.config.licver = '3.6.0.2'),
1254
+ (priData.config.licsoftver = '3.6.0.2'),
1255
+ (priData.config.useAlias = void 0 === r.useAlias || r.useAlias),
1256
+ (priData.config.disableExeUrl = void 0 !== r.disableExeUrl && r.disableExeUrl),
1257
+ void 0 !== r.cspAlias
1258
+ ? (priData.config.cspAlias = r.cspAlias)
1259
+ : (priData.config.cspAlias = {
1260
+ RSA软证书: 'Microsoft Enhanced Cryptographic Provider v1.0',
1261
+ '飞天 ePass 3000 GM': 'EnterSafe ePass3000GM CSP v1.0',
1262
+ '华大智宝 SJK102': 'CIDC Cryptographic Service Provider v3.0.0',
1263
+ SM2软证书: 'iTrusChina Cryptographic Service Provider v1.0.0',
1264
+ 神州龙芯: 'ChinaCpu USB Key CSP v1.0'
1265
+ }),
1266
+ (priData.config.addCspAlias = void 0 !== r.addCspAlias ? r.addCspAlias : {}),
1267
+ priData.config.addCspAlias)) {
1268
+ priData.config.cspAlias[e] = priData.config.addCspAlias[e]
1269
+ }
874
1270
  ;(priData.config.disableWhiteList = void 0 !== r.disableWhiteList && r.disableWhiteList),
875
1271
  void 0 !== r.whiteList
876
1272
  ? (priData.config.whiteList = r.whiteList)
@@ -879,8 +1275,9 @@ var TCACore = (function () {
879
1275
  'iTrusChina Cryptographic Service Provider v1.0.0'
880
1276
  ]),
881
1277
  (priData.config.addWhiteList = void 0 !== r.addWhiteList ? r.addWhiteList : [])
882
- for (var e = 0; e < priData.config.addWhiteList.length; e++)
883
- priData.config.whiteList.push(priData.config.addWhiteList[e])
1278
+ for (var n = 0; n < priData.config.addWhiteList.length; n++) {
1279
+ priData.config.whiteList.push(priData.config.addWhiteList[n])
1280
+ }
884
1281
  ;(priData.config.lic = void 0 !== r.license ? r.license : null),
885
1282
  (priData.config.licinfo = null),
886
1283
  (priData.config.urlArr = null),
@@ -891,37 +1288,29 @@ var TCACore = (function () {
891
1288
  ? (priData.config.exepath = priData.config.selfPath + 'TopCertKit-' + priData.config.exeVer + '.exe')
892
1289
  : (priData.config.exepath = r.exepath),
893
1290
  (priData.config.genKeySpec = void 0 !== r.genKeySpec ? r.genKeySpec : 1),
894
- priData.config.genKeySpec != 1 && priData.config.genKeySpec != 2 && (priData.config.genKeySpec = 1),
1291
+ 1 != priData.config.genKeySpec && 2 != priData.config.genKeySpec && (priData.config.genKeySpec = 1),
895
1292
  (priData.config.genCsrUseSHA256 = void 0 !== r.genCsrUseSHA256 && r.genCsrUseSHA256),
896
1293
  (priData.config.signPkcs7WithAttr = void 0 !== r.signPkcs7WithAttr && r.signPkcs7WithAttr),
897
1294
  (priData.config.enableAutoAuth = void 0 !== r.enableAutoAuth && r.enableAutoAuth),
898
1295
  (priData.config.autoAuthUrl = void 0 !== r.autoAuthUrl ? r.autoAuthUrl : '')
899
1296
  }
900
- function getSelfPath() {
901
- for (var r, t = document.getElementsByTagName('script'), e = new RegExp('(.*/)+'), n = 0; n < t.length; n++)
902
- if (((r = t[n].getAttribute('src')), r !== null && !(r.search('TopCertKit-\\d{5}.js') < 0))) {
903
- r = r.match(e)[0]
904
- break
905
- }
906
- return r
907
- }
908
1297
  function doGetEnct() {
909
- var r,
910
- t = '{"method" : "gen","param1" : "", "param2" : "", "param3" : ""}',
911
- e = TCACore.getInstance()
1298
+ var r = TCACore.getInstance()
912
1299
  try {
913
- r = e.call('token/token', t)
1300
+ resppriData.config.signPkcs7WithAttr = r.call(
1301
+ 'token/token',
1302
+ '{"method" : "gen","param1" : "", "param2" : "", "param3" : ""}'
1303
+ )
914
1304
  } catch (r) {
915
1305
  return TCACErr.throwErr(r, ERRMAP.AUTOAUTH_ERROR_2), null
916
1306
  }
917
- return r.retStr1
1307
+ return (void 0).retStr1
918
1308
  }
919
1309
  function doVerifyToken(r, t) {
920
- var e,
921
- n = '{"method" : "verify","param1" : "' + r + '", "param2" : "' + t + '", "param3" : ""}',
922
- i = TCACore.getInstance()
1310
+ var e = '{"method" : "verify","param1" : "' + r + '", "param2" : "' + t + '", "param3" : ""}',
1311
+ n = TCACore.getInstance()
923
1312
  try {
924
- e = i.call('token/token', n)
1313
+ n.call('token/token', e)
925
1314
  } catch (r) {
926
1315
  return TCACErr.throwErr(r, ERRMAP.AUTOAUTH_ERROR_2), !1
927
1316
  }
@@ -929,7 +1318,7 @@ var TCACore = (function () {
929
1318
  }
930
1319
  function verifyAutoAuth() {
931
1320
  var r = priData.config.autoAuthUrl
932
- ;(r !== '' && void 0 !== r && r !== null) || TCACErr.throwErr(ERRMAP.INVALID_CONFIG)
1321
+ ;('' !== r && null != r) || TCACErr.throwErr(ERRMAP.INVALID_CONFIG)
933
1322
  var t = doGetEnct(),
934
1323
  e = "d={'winterIsComing': \"" + t + '", \'v\' : "1"}'
935
1324
  $.ajax({
@@ -950,29 +1339,29 @@ var TCACore = (function () {
950
1339
  function verifyLicense() {
951
1340
  var pkcs7 = new Pkcs7(priData.config.lic),
952
1341
  cert = pkcs7.verifyMessage()
953
- cert.serialNumber() != '5F259CDACC82BB7EF305B3007B8B8EC9BDF9B5F2' && TCACErr.throwErr(ERRMAP.INVALID_LICENSE_2)
1342
+ '5F259CDACC82BB7EF305B3007B8B8EC9BDF9B5F2' != cert.serialNumber() && TCACErr.throwErr(ERRMAP.INVALID_LICENSE_2)
954
1343
  var info = pkcs7.contentMessage()
955
1344
  priData.config.licinfo = eval('(' + info + ')')
956
1345
  }
957
1346
  function gotoExeUrl() {
958
- if (priData.config.disableExeUrl) throw TCACErr.throwErr(ERRMAP.INSTALL_ACTIVEX_ERR)
1347
+ if (priData.config.disableExeUrl) {
1348
+ throw TCACErr.throwErr(ERRMAP.INSTALL_ACTIVEX_ERR)
1349
+ }
959
1350
  window.location = priData.config.exepath
960
1351
  }
961
1352
  function loadCertKitSrv() {
962
1353
  return !0
963
1354
  }
964
1355
  function getSrvVersion() {
965
- var r = tcu.getSrvVersion()
966
- return r.version
1356
+ return !!tcu.isFFKyLinFT() || tcu.getSrvVersion().version
967
1357
  }
968
1358
  function loadCertKitActiveX() {
969
1359
  try {
970
1360
  var r = "<object id='TopCertKit' classid='clsid:" + priData.config.certkitClsID + "' "
971
1361
  r += '></object>'
972
1362
  var t = document.getElementById('CertKitDiv')
973
- ;(t !== null && t !== '') ||
974
- ((t = document.createElement('div')),
975
- t.setAttribute('id', 'CertKitDiv'),
1363
+ ;(null !== t && '' !== t) ||
1364
+ ((t = document.createElement('div')).setAttribute('id', 'CertKitDiv'),
976
1365
  (t.innerHTML = r),
977
1366
  document.body.appendChild(t)),
978
1367
  (priData.certKitSrvActiveX = document.getElementById('TopCertKit'))
@@ -981,20 +1370,20 @@ var TCACore = (function () {
981
1370
  }
982
1371
  }
983
1372
  function checkCertKitVer() {
984
- var r
985
- r = isIE() ? priData.certKitSrvActiveX.ver : getSrvVersion()
986
- var t = r.split('.'),
987
- e = priData.config.certKitActiveXVer.split('.'),
988
- n = 1e4 * parseInt(t[0]) + 100 * parseInt(t[1]) + parseInt(t[2]),
989
- i = 1e4 * parseInt(e[0]) + 100 * parseInt(e[1]) + parseInt(e[2])
990
- return !(n < i) || (TCACErr.throwErr(ERRMAP.INVALID_CERTKIT_VER), !1)
991
- }
992
- function doGetClientVersion() {
993
- return isIE() ? priData.certKitSrvActiveX.ver : getSrvVersion()
1373
+ if (tcu.isFFKyLinFT()) {
1374
+ return !0
1375
+ }
1376
+ var r = (isIE() ? priData.certKitSrvActiveX.ver : getSrvVersion()).split('.'),
1377
+ e = priData.config.certKitActiveXVer.split('.')
1378
+ return !(
1379
+ 10000 * parseInt(r[0]) + 100 * parseInt(r[1]) + parseInt(r[2]) <
1380
+ 10000 * parseInt(e[0]) + 100 * parseInt(e[1]) + parseInt(e[2]) &&
1381
+ (TCACErr.throwErr(ERRMAP.INVALID_CERTKIT_VER), 1)
1382
+ )
994
1383
  }
995
1384
  function isIE() {
996
1385
  var r = navigator.userAgent
997
- return r.indexOf('MSIE') > 0 || r.toLocaleLowerCase().indexOf('trident') > -1
1386
+ return 0 < r.indexOf('MSIE') || -1 < r.toLocaleLowerCase().indexOf('trident')
998
1387
  }
999
1388
  function loadCertKit() {
1000
1389
  return isIE() ? loadCertKitActiveX() : loadCertKitSrv()
@@ -1002,13 +1391,7 @@ var TCACore = (function () {
1002
1391
  function callSrv(r, t) {
1003
1392
  var e = priData.config.certKitSrvUrl + r,
1004
1393
  n = {},
1005
- i = !1,
1006
- c = function (r) {
1007
- ;(i = !0), (n = r)
1008
- },
1009
- a = function (r, t, e) {
1010
- ;(i = !1), (n.request = r), (n.status = t), (n.err = e)
1011
- }
1394
+ i = !1
1012
1395
  if (
1013
1396
  (priData.config.ajaxHdl({
1014
1397
  type: 'POST',
@@ -1017,13 +1400,19 @@ var TCACore = (function () {
1017
1400
  contentType: 'application/json; charset=utf-8',
1018
1401
  dataType: 'json',
1019
1402
  data: t,
1020
- success: c,
1021
- error: a
1403
+ success: function (r) {
1404
+ ;(i = !0), (n = r)
1405
+ },
1406
+ error: function (r, t, e) {
1407
+ ;(i = !1), (n.request = r), (n.status = t), (n.err = e)
1408
+ }
1022
1409
  }),
1023
1410
  !i)
1024
1411
  ) {
1025
- var s = '[' + n.request.readyState + '][' + n.request.status + '][' + n.status + '][' + n.err.toString() + ']'
1026
- throw new TCACErr(4278190081, s)
1412
+ throw new TCACErr(
1413
+ 4278190081,
1414
+ '[' + n.request.readyState + '][' + n.request.status + '][' + n.status + '][' + n.err.toString() + ']'
1415
+ )
1027
1416
  }
1028
1417
  return (
1029
1418
  n.retCode != ERRMAP.SUPER_SUCCESS.code &&
@@ -1033,18 +1422,7 @@ var TCACore = (function () {
1033
1422
  }
1034
1423
  function callSrvAsyn(r, t, e) {
1035
1424
  var n = priData.config.certKitSrvUrl + r,
1036
- i = {},
1037
- c = !1,
1038
- a = function (r) {
1039
- ;(c = !0), (i = r), e(r)
1040
- },
1041
- s = function (r, t, e) {
1042
- TCACErr.throwErr(TCACErr.newErr(ERRMAP.CALL_HTTP_CLIENT_ERR), { code: i.retCode, msg: i.retMsg }),
1043
- (c = !1),
1044
- (i.request = r),
1045
- (i.status = t),
1046
- (i.err = e)
1047
- }
1425
+ i = {}
1048
1426
  priData.config.ajaxHdl({
1049
1427
  type: 'POST',
1050
1428
  url: n,
@@ -1052,8 +1430,16 @@ var TCACore = (function () {
1052
1430
  contentType: 'application/json; charset=utf-8',
1053
1431
  dataType: 'json',
1054
1432
  data: t,
1055
- success: a,
1056
- error: s
1433
+ success: function (r) {
1434
+ !0, e((i = r))
1435
+ },
1436
+ error: function (r, t, e) {
1437
+ TCACErr.throwErr(TCACErr.newErr(ERRMAP.CALL_HTTP_CLIENT_ERR), { code: i.retCode, msg: i.retMsg }),
1438
+ !1,
1439
+ (i.request = r),
1440
+ (i.status = t),
1441
+ (i.err = e)
1442
+ }
1057
1443
  })
1058
1444
  }
1059
1445
  function callActiveX(r, t) {
@@ -1064,11 +1450,11 @@ var TCACore = (function () {
1064
1450
  var n = TCACErr.newErr({ code: r.number, msg: r.description })
1065
1451
  return TCACErr.throwErr(n, ERRMAP.CALL_ACTIVEX_ERR), null
1066
1452
  }
1067
- if (((e = priData.config.str2JsonHdl(e)), e.retCode != 0)) {
1068
- var i = TCACErr.newErr(ERRMAP.CALL_ACTIVEX_ERR_METHOD)
1069
- return TCACErr.throwErr(i, { code: e.retCode, msg: e.retMsg }), null
1453
+ if (0 == (e = priData.config.str2JsonHdl(e)).retCode) {
1454
+ return e
1070
1455
  }
1071
- return e
1456
+ var i = TCACErr.newErr(ERRMAP.CALL_ACTIVEX_ERR_METHOD)
1457
+ return TCACErr.throwErr(i, { code: e.retCode, msg: e.retMsg }), null
1072
1458
  }
1073
1459
  function callActiveXAsyn(r, t, e) {
1074
1460
  var n = null
@@ -1078,13 +1464,12 @@ var TCACore = (function () {
1078
1464
  var i = TCACErr.newErr({ code: r.number, msg: r.description })
1079
1465
  return TCACErr.throwErr(i, ERRMAP.CALL_ACTIVEX_ERR), null
1080
1466
  }
1081
- if (((n = priData.config.str2JsonHdl(n)), n.retCode != 0)) {
1467
+ if (0 != (n = priData.config.str2JsonHdl(n)).retCode) {
1082
1468
  var c = TCACErr.newErr(ERRMAP.CALL_ACTIVEX_ERR_METHOD)
1083
1469
  return TCACErr.throwErr(c, { code: n.retCode, msg: n.retMsg }), null
1084
1470
  }
1085
1471
  e(n)
1086
1472
  }
1087
- var priData = {}
1088
1473
  ;(priData.config = null), (priData.cacheKeyStoreList = null), (priData.certKitSrvActiveX = null), saveConfig({})
1089
1474
  var instanceClass = function () {
1090
1475
  ;(this.getCfg = function (r) {
@@ -1094,11 +1479,14 @@ var TCACore = (function () {
1094
1479
  priData.cacheKeyStoreList = r
1095
1480
  }),
1096
1481
  (this.getLicInfo = function (r) {
1097
- return priData.config.licinfo == null, priData.config.licinfo[r]
1482
+ return priData.config.licinfo, priData.config.licinfo[r]
1098
1483
  }),
1099
1484
  (this.full2Alias = function (r) {
1100
- for (var t in priData.config.cspAlias)
1101
- if (priData.config.cspAlias.hasOwnProperty(t) && priData.config.cspAlias[t] == r) return t
1485
+ for (var t in priData.config.cspAlias) {
1486
+ if (priData.config.cspAlias.hasOwnProperty(t) && priData.config.cspAlias[t] == r) {
1487
+ return t
1488
+ }
1489
+ }
1102
1490
  return r
1103
1491
  }),
1104
1492
  (this.alias2Full = function (r) {
@@ -1106,42 +1494,58 @@ var TCACore = (function () {
1106
1494
  return void 0 === t ? r : t
1107
1495
  }),
1108
1496
  (this.certInLic = function (r) {
1109
- var t = new RegExp(this.getLicInfo('Issuer'))
1110
- return t.test(r.issuer())
1497
+ return new RegExp(this.getLicInfo('Issuer')).test(r.issuer())
1111
1498
  })
1112
- var r = {}
1113
- ;(r.query = isIE() ? callActiveX : callSrv),
1114
- (r.queryAsyn = isIE() ? callActiveXAsyn : callSrvAsyn),
1115
- (this.call = function (t, e) {
1116
- return r.query(t, e)
1117
- }),
1118
- (this.callAsyn = function (t, e, n) {
1119
- return r.queryAsyn(t, e, n)
1499
+ var n = {}
1500
+ ;(n.query = isIE() ? callActiveX : callSrv),
1501
+ (n.queryAsyn = isIE() ? callActiveXAsyn : callSrvAsyn),
1502
+ (this.call = function (r, t) {
1503
+ return n.query(r, t)
1120
1504
  }),
1121
- (this.GetClientVersion = function () {
1122
- return doGetClientVersion()
1505
+ (this.callAsyn = function (r, t, e) {
1506
+ return n.queryAsyn(r, t, e)
1123
1507
  })
1124
1508
  },
1125
1509
  _instance = null,
1126
1510
  getInstance = function (r) {
1127
- if ((void 0 !== r && r !== null && saveConfig(r), _instance === null)) {
1128
- if (((_instance = new instanceClass()), loadCertKit(), !checkCertKitVer())) return void gotoExeUrl()
1511
+ if ((null != r && saveConfig(r), null === _instance)) {
1512
+ if (((_instance = new instanceClass()), loadCertKit(), !checkCertKitVer())) {
1513
+ return void gotoExeUrl()
1514
+ }
1129
1515
  priData.config.enableAutoAuth ? verifyAutoAuth() : verifyLicense()
1130
1516
  }
1131
1517
  return _instance
1132
1518
  }
1133
1519
  return { getInstance: getInstance }
1134
1520
  })()
1135
- ;(TCACErr.newErr = function (r, t) {
1136
- var e = null
1137
- return r instanceof TCACErr ? ((e = new TCACErr(r)), e.addErr(t)) : ((e = new TCACErr()), e.addErr(r)), e
1521
+ function TCACErr(a) {
1522
+ ;(this._errarr = []),
1523
+ a instanceof TCACErr && (this._errarr = a._errarr),
1524
+ (this.addErr = function (c) {
1525
+ var b = c.code,
1526
+ d = c.msg
1527
+ ;(this.number = 0 < b ? b : 4294967296 + b),
1528
+ (this.description = d),
1529
+ this._errarr.push({ code: this.number.toString(16).toUpperCase(), msg: d })
1530
+ }),
1531
+ (this.toStr = function () {
1532
+ for (var c = '', b = 0; b < this._errarr.length; b++) {
1533
+ c += this._errarr[b].msg + ', 错误码:0x' + this._errarr[b].code + ', \r\n'
1534
+ }
1535
+ return c.substr(0, c.length - 4)
1536
+ })
1537
+ }
1538
+ ;(TCACErr.newErr = function (c, b) {
1539
+ var a = null
1540
+ return c instanceof TCACErr ? (a = new TCACErr(c)).addErr(b) : (a = new TCACErr()).addErr(c), a
1138
1541
  }),
1139
- (TCACErr.throwErr = function (r, t) {
1140
- throw r instanceof TCACErr ? TCACErr.newErr(r, t) : TCACErr.newErr(r)
1542
+ (TCACErr.throwErr = function (b, a) {
1543
+ throw b instanceof TCACErr ? TCACErr.newErr(b, a) : TCACErr.newErr(b)
1141
1544
  })
1142
1545
  var ERRMAP_ZHCN = {
1143
1546
  CERTSTORE_INIT_WRONGTYPE: { code: 16777217, msg: 'CertStore实例初始化失败,参数类型不匹配' },
1144
1547
  LIST_STORE_ERROR: { code: 16777218, msg: '列举密钥库错误' },
1548
+ CLEAR_PIN_CACHE_ERROR: { code: 556466177, msg: '清除pin码缓存错误' },
1145
1549
  BY_CERT_ERR_TYPE: { code: 16777219, msg: '根据证书获取CertStore实例时失败,参数类型不匹配' },
1146
1550
  LIST_CERT_ERROR: { code: 16777220, msg: '列举证书错误' },
1147
1551
  GEN_CSR_ERROR_PARAMS: { code: 16777221, msg: '产生CSR失败,输入参数错误' },
@@ -1150,6 +1554,8 @@ var ERRMAP_ZHCN = {
1150
1554
  INSTALL_CERT_ERR_PARAMS: { code: 16777224, msg: '安装证书失败,输入参数错误' },
1151
1555
  INSTALL_CERT_ERR_UNKNOWN_SYMMALG: { code: 16777225, msg: '安装加密证书失败,未知的对称加密算法' },
1152
1556
  INSTALL_CERT_ERR: { code: 16777226, msg: '安装证书失败' },
1557
+ VERIFY_PIN_ERROR: { code: 16777227, msg: '验证pin码错误' },
1558
+ GET_DEVINFO_ERROR: { code: 16777228, msg: '获取设备信息错误' },
1153
1559
  CERTIFICATE_INIT_WRONGTYPE: { code: 33554433, msg: 'Certificate实例初始化失败,参数类型不匹配' },
1154
1560
  CERTIFICATE_PARSE_ERROR: { code: 33554434, msg: '从Base64解析证书失败' },
1155
1561
  CERTIFICATE_DELETE_ERROR: { code: 33554435, msg: '删除证书失败' },
@@ -1162,7 +1568,6 @@ var ERRMAP_ZHCN = {
1162
1568
  PKCS7_INIT_PARSE_ERROR: { code: 83886082, msg: '初始化Pkcs7实例失败,解析Pkcs7数据失败' },
1163
1569
  SIGN_ERROR: { code: 2684354561, msg: '签名操作失败' },
1164
1570
  SIGN_ERROR_HASH_ALG: { code: 100663297, msg: '哈希算法与签名算法不匹配' },
1165
- SIGN_INPUT_ERROR: { code: 100663298, msg: '参数错误' },
1166
1571
  VERIFY_ERROR: { code: 2684354562, msg: '验证签名操作失败' },
1167
1572
  ENCRYPT_ERROR: { code: 2684354563, msg: '加密操作失败' },
1168
1573
  DECRYPT_ERROR: { code: 2684354564, msg: '解密操作失败' },
@@ -1185,6 +1590,7 @@ var ERRMAP_ZHCN = {
1185
1590
  SUPER_SUCCESS: { code: 0, msg: '成功' }
1186
1591
  },
1187
1592
  ERRMAP = ERRMAP_ZHCN
1593
+ function tcu() {}
1188
1594
  ;(TCACErr.prototype = new Error()),
1189
1595
  (tcu.extKeyUsageMap = {
1190
1596
  '1.3.6.1.5.5.7.3.1': 'serverAuth',
@@ -1208,72 +1614,74 @@ var ERRMAP_ZHCN = {
1208
1614
  '1.3.6.1.5.5.7.3.19': 'capwapWTP',
1209
1615
  '1.3.6.1.4.1.311.20.2.2': 'smartcardlogon'
1210
1616
  }),
1211
- (tcu.isStr = function (r) {
1212
- return typeof r === 'string'
1213
- }),
1214
- (tcu.isNum = function (r) {
1215
- return typeof r === 'number'
1216
- }),
1217
- (tcu.isBool = function (r) {
1218
- return typeof r === 'boolean'
1219
- }),
1220
- (tcu.isUndef = function (r) {
1221
- return typeof r === 'undefined'
1222
- }),
1223
- (tcu.isNull = function (r) {
1224
- return typeof r === 'null'
1225
- }),
1226
- (tcu.isObj = function (r) {
1227
- return typeof r === 'object'
1228
- }),
1229
- (tcu.isArr = function (r) {
1230
- return Object.prototype.toString.call(r) === '[object Array]'
1231
- }),
1232
- (tcu.urlDec = function (r) {
1233
- var t = decodeURIComponent(r)
1234
- return t.replace(/[\r\n]/g, '')
1235
- }),
1236
- (tcu.convKeyUsageArr2Num = function (r) {
1237
- for (var t = 0, e = 0; e < r.length; e++)
1238
- r[e] != 'digitalSignature'
1239
- ? r[e] != 'nonRepudiation'
1240
- ? r[e] != 'keyEncipherment'
1241
- ? r[e] != 'dataEncipherment'
1242
- ? r[e] != 'keyAgreement'
1243
- ? r[e] != 'keyCertSign'
1244
- ? r[e] != 'cRLSign'
1245
- ? r[e] != 'encipherOnly'
1246
- ? r[e] != 'decipherOnly'
1247
- ? r[e] == 'contentCommitment' && (t |= TCA.contentCommitment)
1248
- : (t |= TCA.decipherOnly)
1249
- : (t |= TCA.encipherOnly)
1250
- : (t |= TCA.cRLSign)
1251
- : (t |= TCA.keyCertSign)
1252
- : (t |= TCA.keyAgreement)
1253
- : (t |= TCA.dataEncipherment)
1254
- : (t |= TCA.keyEncipherment)
1255
- : (t |= TCA.nonRepudiation)
1256
- : (t |= TCA.digitalSignature)
1257
- return t
1258
- }),
1259
- (tcu.convKeyUsageNum2Arr = function (r) {
1260
- var t = []
1261
- return r === 0
1262
- ? t
1263
- : (r & TCA.digitalSignature && t.push('digitalSignature'),
1264
- r & TCA.nonRepudiation && t.push('nonRepudiation'),
1265
- r & TCA.keyEncipherment && t.push('keyEncipherment'),
1266
- r & TCA.dataEncipherment && t.push('dataEncipherment'),
1267
- r & TCA.keyAgreement && t.push('keyAgreement'),
1268
- r & TCA.keyCertSign && t.push('keyCertSign'),
1269
- r & TCA.cRLSign && t.push('cRLSign'),
1270
- r & TCA.encipherOnly && t.push('encipherOnly'),
1271
- r & TCA.decipherOnly && t.push('decipherOnly'),
1272
- r & TCA.contentCommitment && t.push('contentCommitment'),
1273
- t)
1274
- }),
1275
- (tcu.convSignAlg2Str = function (r) {
1276
- switch (r) {
1617
+ (tcu.isStr = function (a) {
1618
+ return 'string' == typeof a
1619
+ }),
1620
+ (tcu.isNum = function (a) {
1621
+ return 'number' == typeof a
1622
+ }),
1623
+ (tcu.isBool = function (a) {
1624
+ return 'boolean' == typeof a
1625
+ }),
1626
+ (tcu.isUndef = function (a) {
1627
+ return void 0 === a
1628
+ }),
1629
+ (tcu.isNull = function (a) {
1630
+ return 'null' == typeof a
1631
+ }),
1632
+ (tcu.isObj = function (a) {
1633
+ return 'object' == typeof a
1634
+ }),
1635
+ (tcu.isArr = function (a) {
1636
+ return '[object Array]' === Object.prototype.toString.call(a)
1637
+ }),
1638
+ (tcu.urlDec = function (b) {
1639
+ var a = decodeURIComponent(b)
1640
+ return a.replace(/[\r\n]/g, '')
1641
+ }),
1642
+ (tcu.convKeyUsageArr2Num = function (c) {
1643
+ for (var b = 0, a = 0; a < c.length; a++) {
1644
+ 'digitalSignature' != c[a]
1645
+ ? 'nonRepudiation' != c[a]
1646
+ ? 'keyEncipherment' != c[a]
1647
+ ? 'dataEncipherment' != c[a]
1648
+ ? 'keyAgreement' != c[a]
1649
+ ? 'keyCertSign' != c[a]
1650
+ ? 'cRLSign' != c[a]
1651
+ ? 'encipherOnly' != c[a]
1652
+ ? 'decipherOnly' != c[a]
1653
+ ? 'contentCommitment' == c[a] && (b |= TCA.contentCommitment)
1654
+ : (b |= TCA.decipherOnly)
1655
+ : (b |= TCA.encipherOnly)
1656
+ : (b |= TCA.cRLSign)
1657
+ : (b |= TCA.keyCertSign)
1658
+ : (b |= TCA.keyAgreement)
1659
+ : (b |= TCA.dataEncipherment)
1660
+ : (b |= TCA.keyEncipherment)
1661
+ : (b |= TCA.nonRepudiation)
1662
+ : (b |= TCA.digitalSignature)
1663
+ }
1664
+ return b
1665
+ }),
1666
+ (tcu.convKeyUsageNum2Arr = function (b) {
1667
+ var a = []
1668
+ return (
1669
+ 0 === b ||
1670
+ (b & TCA.digitalSignature && a.push('digitalSignature'),
1671
+ b & TCA.nonRepudiation && a.push('nonRepudiation'),
1672
+ b & TCA.keyEncipherment && a.push('keyEncipherment'),
1673
+ b & TCA.dataEncipherment && a.push('dataEncipherment'),
1674
+ b & TCA.keyAgreement && a.push('keyAgreement'),
1675
+ b & TCA.keyCertSign && a.push('keyCertSign'),
1676
+ b & TCA.cRLSign && a.push('cRLSign'),
1677
+ b & TCA.encipherOnly && a.push('encipherOnly'),
1678
+ b & TCA.decipherOnly && a.push('decipherOnly'),
1679
+ b & TCA.contentCommitment && a.push('contentCommitment')),
1680
+ a
1681
+ )
1682
+ }),
1683
+ (tcu.convSignAlg2Str = function (a) {
1684
+ switch (a) {
1277
1685
  case 81:
1278
1686
  return 'SM3WithSM2'
1279
1687
  case 98:
@@ -1281,11 +1689,11 @@ var ERRMAP_ZHCN = {
1281
1689
  }
1282
1690
  return 'UnknownSignAlg'
1283
1691
  }),
1284
- (tcu.convAlg2SignAlgId = function (r) {
1285
- return r == TCA.RSA1024 ? 98 : r == TCA.RSA2048 ? 98 : r == TCA.SM2 ? 81 : -1
1692
+ (tcu.convAlg2SignAlgId = function (a) {
1693
+ return a == TCA.RSA1024 ? 98 : a == TCA.RSA2048 ? 98 : a == TCA.SM2 ? 81 : -1
1286
1694
  }),
1287
- (tcu.convPubKeyAlg2Str = function (r) {
1288
- switch (r) {
1695
+ (tcu.convPubKeyAlg2Str = function (a) {
1696
+ switch (a) {
1289
1697
  case 1:
1290
1698
  case 2:
1291
1699
  case 3:
@@ -1296,8 +1704,8 @@ var ERRMAP_ZHCN = {
1296
1704
  }
1297
1705
  return 'UnknownAlg'
1298
1706
  }),
1299
- (tcu.convPubKeyAlg2Size = function (r) {
1300
- switch (r) {
1707
+ (tcu.convPubKeyAlg2Size = function (a) {
1708
+ switch (a) {
1301
1709
  case 1:
1302
1710
  return 1024
1303
1711
  case 2:
@@ -1309,23 +1717,31 @@ var ERRMAP_ZHCN = {
1309
1717
  }
1310
1718
  return -1
1311
1719
  }),
1312
- (tcu.convExtKeyUsageOID2Name = function (r) {
1313
- for (var t = [], e = 0; e < r.length; e++) t.push(tcu.extKeyUsageMap[r[e]])
1314
- return t
1720
+ (tcu.convExtKeyUsageOID2Name = function (c) {
1721
+ for (var b = [], a = 0; a < c.length; a++) {
1722
+ b.push(tcu.extKeyUsageMap[c[a]])
1723
+ }
1724
+ return b
1315
1725
  }),
1316
1726
  (tcu.convStr2Json = function (jsonStr) {
1317
1727
  return eval('(' + jsonStr + ')')
1318
1728
  }),
1319
- (tcu.convKeySize2CSP = function (r) {
1320
- return r == TCA.RSA1024 ? 67108864 : r == TCA.RSA2048 ? 134217728 : r == TCA.SM2 ? 16777216 : -1
1729
+ (tcu.convKeySize2CSP = function (a) {
1730
+ return a == TCA.RSA1024 ? 67108864 : a == TCA.RSA2048 ? 134217728 : a == TCA.SM2 ? 16777216 : -1
1321
1731
  }),
1322
- (tcu.strInList = function (r, t) {
1323
- if (t.length <= 0) return !1
1324
- for (var e = 0; e < t.length; e++) if (r === t[e]) return !0
1732
+ (tcu.strInList = function (c, b) {
1733
+ if (b.length <= 0) {
1734
+ return !1
1735
+ }
1736
+ for (var a = 0; a < b.length; a++) {
1737
+ if (c === b[a]) {
1738
+ return !0
1739
+ }
1740
+ }
1325
1741
  return !1
1326
1742
  }),
1327
- (tcu.tcaAlg2SDKAlg = function (r) {
1328
- switch (r) {
1743
+ (tcu.tcaAlg2SDKAlg = function (a) {
1744
+ switch (a) {
1329
1745
  case TCA.SM4:
1330
1746
  return 65
1331
1747
  case TCA.DES:
@@ -1355,117 +1771,117 @@ var ERRMAP_ZHCN = {
1355
1771
  return 0
1356
1772
  }
1357
1773
  }),
1358
- (tcu.arr2Str = function (r) {
1359
- for (var t = '', e = 0; e < r.length; e++) {
1360
- var n = r[e]
1361
- ;(n = n.replace(/\r/g, '\\r').replace(/\n/g, '\\n')), (t = t + '"' + n + '", ')
1362
- }
1363
- return t.length > 0 && (t = t.substr(0, t.length - 2)), '[' + t + ']'
1364
- }),
1365
- (tcu.json2Str = function (r) {
1366
- var t = '{'
1367
- for (var e in r) {
1368
- t += '"' + e + '":'
1369
- var n = r[e]
1370
- tcu.isStr(n)
1371
- ? ((n = n.replace(/\\/g, '\\\\').replace(/\r/g, '\\r').replace(/\n/g, '\\n').replace(/\"/g, '\\"')),
1372
- (t += '"' + n + '",'))
1373
- : tcu.isNum(n) || tcu.isBool(n)
1374
- ? (t += n + ',')
1375
- : tcu.isArr(n)
1376
- ? (t += tcu.arr2Str(n) + ',')
1774
+ (tcu.arr2Str = function (d) {
1775
+ for (var c = '', a = 0; a < d.length; a++) {
1776
+ var b = d[a]
1777
+ c = c + '"' + (b = b.replace(/\r/g, '\\r').replace(/\n/g, '\\n')) + '", '
1778
+ }
1779
+ return 0 < c.length && (c = c.substr(0, c.length - 2)), '[' + c + ']'
1780
+ }),
1781
+ (tcu.json2Str = function (b) {
1782
+ var c = '{'
1783
+ for (var a in b) {
1784
+ c += '"' + a + '":'
1785
+ var d = b[a]
1786
+ tcu.isStr(d)
1787
+ ? (c +=
1788
+ '"' +
1789
+ (d = d.replace(/\\/g, '\\\\').replace(/\r/g, '\\r').replace(/\n/g, '\\n').replace(/\"/g, '\\"')) +
1790
+ '",')
1791
+ : tcu.isNum(d) || tcu.isBool(d)
1792
+ ? (c += d + ',')
1793
+ : tcu.isArr(d)
1794
+ ? (c += tcu.arr2Str(d) + ',')
1377
1795
  : TCACErr.throwErr(ERRMAP.ERROR_JSON_TYPE)
1378
1796
  }
1379
- return (t += '"_jsonEnd":"_jsonEnd"}')
1380
- }),
1381
- (tcu.sign = function (r, t, e, n, i, c, a, s, o, A, u, C) {
1382
- var l = {
1383
- certStore: r,
1384
- certIDArr: t,
1385
- hash: e,
1386
- bSignHash: n,
1387
- bSignP7: i,
1388
- bAttr: c,
1389
- bIncCtx: a,
1390
- bIncCert: s,
1391
- inType: o,
1392
- inParam: A,
1393
- outType: u,
1394
- outParam: C
1395
- }
1396
- l = tcu.json2Str(l)
1397
- var T,
1398
- E = TCACore.getInstance()
1797
+ return c + '"_jsonEnd":"_jsonEnd"}'
1798
+ }),
1799
+ (tcu.sign = function (j, g, v, k, q, w, d, h, y, f, m, b) {
1800
+ var z = {
1801
+ certStore: j,
1802
+ certIDArr: g,
1803
+ hash: v,
1804
+ bSignHash: k,
1805
+ bSignP7: q,
1806
+ bAttr: w,
1807
+ bIncCtx: d,
1808
+ bIncCert: h,
1809
+ inType: y,
1810
+ inParam: f,
1811
+ outType: m,
1812
+ outParam: b
1813
+ }
1814
+ z = tcu.json2Str(z)
1815
+ var p,
1816
+ x = TCACore.getInstance()
1399
1817
  try {
1400
- T = E.call('Sign/sign', l)
1401
- } catch (r) {
1402
- return TCACErr.throwErr(r, ERRMAP.SIGN_ERROR), null
1403
- }
1404
- return T
1405
- }),
1406
- (tcu.verify = function (r, t, e, n, i, c, a, s, o) {
1407
- var A = {
1408
- b64Cert: r,
1409
- isHashSign: t,
1410
- isPkcs7: e,
1411
- hash: n,
1412
- verifyOption: i,
1413
- signInType: c,
1414
- signInParam: a,
1415
- plainInType: s,
1416
- plainInParam: o
1417
- }
1418
- A = tcu.json2Str(A)
1419
- var u,
1420
- C = TCACore.getInstance()
1818
+ p = x.call('Sign/sign', z)
1819
+ } catch (j) {
1820
+ return TCACErr.throwErr(j, ERRMAP.SIGN_ERROR), null
1821
+ }
1822
+ return p
1823
+ }),
1824
+ (tcu.verify = function (v, p, h, d, g, j, k, b, q) {
1825
+ var m = {
1826
+ b64Cert: v,
1827
+ isHashSign: p,
1828
+ isPkcs7: h,
1829
+ hash: d,
1830
+ verifyOption: g,
1831
+ signInType: j,
1832
+ signInParam: k,
1833
+ plainInType: b,
1834
+ plainInParam: q
1835
+ }
1836
+ m = tcu.json2Str(m)
1837
+ var f,
1838
+ w = TCACore.getInstance()
1421
1839
  try {
1422
- u = C.call('Verify/verify', A)
1423
- } catch (r) {
1424
- return TCACErr.throwErr(r, ERRMAP.VERIFY_ERROR), null
1840
+ f = w.call('Verify/verify', m)
1841
+ } catch (v) {
1842
+ return TCACErr.throwErr(v, ERRMAP.VERIFY_ERROR), null
1425
1843
  }
1426
- return u
1844
+ return f
1427
1845
  }),
1428
- (tcu.enc = function (r, t, e, n, i, c, a) {
1429
- var s = { certArr: r, symmAlg: t, bEncP7: e, inType: n, inParam: i, outType: c, outParam: a }
1430
- s = tcu.json2Str(s)
1431
- var o,
1432
- A = TCACore.getInstance()
1846
+ (tcu.enc = function (m, k, f, b, d, g, h) {
1847
+ var p = { certArr: m, symmAlg: k, bEncP7: f, inType: b, inParam: d, outType: g, outParam: h }
1848
+ p = tcu.json2Str(p)
1849
+ var l,
1850
+ j = TCACore.getInstance()
1433
1851
  try {
1434
- o = A.call('Enc/enc', s)
1435
- } catch (r) {
1436
- return TCACErr.throwErr(r, ERRMAP.ENCRYPT_ERROR), null
1852
+ l = j.call('Enc/enc', p)
1853
+ } catch (m) {
1854
+ return TCACErr.throwErr(m, ERRMAP.ENCRYPT_ERROR), null
1437
1855
  }
1438
- return o
1856
+ return l
1439
1857
  }),
1440
- (tcu.dec = function (r, t, e, n, i, c, a) {
1441
- var s = { certStore: r, certIDArr: t, bIsP7: e, inType: n, inParam: i, outType: c, outParam: a }
1442
- s = tcu.json2Str(s)
1443
- var o,
1444
- A = TCACore.getInstance()
1858
+ (tcu.dec = function (m, k, f, b, d, g, h) {
1859
+ var p = { certStore: m, certIDArr: k, bIsP7: f, inType: b, inParam: d, outType: g, outParam: h }
1860
+ p = tcu.json2Str(p)
1861
+ var l,
1862
+ j = TCACore.getInstance()
1445
1863
  try {
1446
- o = A.call('Dec/dec', s)
1447
- } catch (r) {
1448
- return TCACErr.throwErr(r, ERRMAP.DECRYPT_ERROR), null
1864
+ l = j.call('skf/skfdec', p)
1865
+ } catch (m) {
1866
+ return TCACErr.throwErr(m, ERRMAP.DECRYPT_ERROR), null
1449
1867
  }
1450
- return o
1868
+ return l
1451
1869
  }),
1452
- (tcu.checkHashAlg = function (r, t) {
1453
- return (
1454
- !((r === 'SM2' && t != TCA.SM3) || (r === 'RSA' && t === TCA.SM3)) ||
1455
- (TCACErr.throwErr(ERRMAP.SIGN_ERROR_HASH_ALG), !1)
1456
- )
1870
+ (tcu.checkHashAlg = function (b, a) {
1871
+ if (('SM2' === this.publicKeyAlg() && a != TCA.SM3) || ('RSA' === this.publicKeyAlg() && a === TCA.SM3)) {
1872
+ return TCACErr.throwErr(ERRMAP.SIGN_ERROR_HASH_ALG), !1
1873
+ }
1457
1874
  }),
1458
1875
  (tcu.getSrvVersion = function () {
1459
- var r,
1460
- t = TCA.IO.MSG,
1461
- e = '{"outType" :' + t + '}',
1462
- n = TCACore.getInstance()
1876
+ var c,
1877
+ b = '{"outType" :' + TCA.IO.MSG + '}',
1878
+ a = TCACore.getInstance()
1463
1879
  try {
1464
- r = n.call('Server/version', e)
1465
- } catch (r) {
1466
- return TCACErr.throwErr(r, ERRMAP.ERROR_CALL_SRV_VER), null
1880
+ c = a.call('Server/version', b)
1881
+ } catch (c) {
1882
+ return TCACErr.throwErr(c, ERRMAP.ERROR_CALL_SRV_VER), null
1467
1883
  }
1468
- return r
1884
+ return c
1469
1885
  }),
1470
1886
  (tcu.ajax = function (jsonParam) {
1471
1887
  var url = jsonParam.url,
@@ -1478,49 +1894,577 @@ var ERRMAP_ZHCN = {
1478
1894
  (request.open('POST', url, !1),
1479
1895
  request.setRequestHeader('Content-Type', 'application/json; charset=UTF-8'),
1480
1896
  request.send(data),
1481
- request.status == 200)
1482
- )
1897
+ 200 == request.status)
1898
+ ) {
1899
+ if (tcu.isFFKyLinFT()) {
1900
+ var r = request.responseText.substr(0, request.responseText.lastIndexOf('}') + 1)
1901
+ return void successCallback(eval('(' + r + ')'))
1902
+ }
1483
1903
  return void successCallback(eval('(' + request.responseText + ')'))
1904
+ }
1484
1905
  } catch (r) {
1485
1906
  return void errorCallback(request, request.statusText, 'send error & no error thrown')
1486
1907
  }
1487
1908
  errorCallback(request, request.statusText, 'no error thrown')
1488
1909
  }),
1489
- (tcu.hash = function (r, t, e, n, i) {
1490
- var c = { hash: r, inType: t, inParam: e, outType: n, outParam: i }
1910
+ (tcu.hash = function (l, j, b, k, h) {
1911
+ var g = { hash: l, inType: j, inParam: b, outType: k, outParam: h }
1912
+ g = tcu.json2Str(g)
1913
+ var d,
1914
+ f = TCACore.getInstance()
1915
+ try {
1916
+ d = f.call('Hash/hash', g)
1917
+ } catch (l) {
1918
+ return TCACErr.throwErr(l, ERRMAP.DECRYPT_ERROR), null
1919
+ }
1920
+ return d
1921
+ }),
1922
+ (tcu.random = function (d) {
1923
+ var c = { byteLen: d }
1491
1924
  c = tcu.json2Str(c)
1492
1925
  var a,
1493
- s = TCACore.getInstance()
1926
+ b = TCACore.getInstance()
1494
1927
  try {
1495
- a = s.call('Hash/hash', c)
1496
- } catch (r) {
1497
- return TCACErr.throwErr(r, ERRMAP.DECRYPT_ERROR), null
1928
+ a = b.call('rand/rand', c)
1929
+ } catch (d) {
1930
+ return TCACErr.throwErr(d, ERRMAP.DECRYPT_ERROR), null
1498
1931
  }
1499
1932
  return a
1500
1933
  }),
1501
- (tcu.random = function (r) {
1502
- var t = { byteLen: r }
1503
- t = tcu.json2Str(t)
1504
- var e,
1505
- n = TCACore.getInstance()
1934
+ (tcu.symm = function (q, m, g, b, f, h, j, v) {
1935
+ var p = { isEnc: b, b64Key: q, b64IV: m, symmAlg: g, inType: f, inParam: h, outType: j, outParam: v }
1936
+ p = tcu.json2Str(p)
1937
+ var k,
1938
+ d = TCACore.getInstance()
1506
1939
  try {
1507
- e = n.call('rand/rand', t)
1508
- } catch (r) {
1509
- return TCACErr.throwErr(r, ERRMAP.DECRYPT_ERROR), null
1940
+ k = d.call('symm/symm', p)
1941
+ } catch (q) {
1942
+ return TCACErr.throwErr(q, ERRMAP.DECRYPT_ERROR), null
1510
1943
  }
1511
- return e
1944
+ return k
1512
1945
  }),
1513
- (tcu.symm = function (r, t, e, n, i, c, a, s) {
1514
- var o = { isEnc: n, b64Key: r, b64IV: t, symmAlg: e, inType: i, inParam: c, outType: a, outParam: s }
1515
- o = tcu.json2Str(o)
1516
- var A,
1517
- u = TCACore.getInstance()
1946
+ (tcu.clearStore = function (d, c) {
1947
+ var a = { providerName: d, providerType: c, param: '', mode: 0 }
1948
+ a = tcu.json2Str(a)
1949
+ var b = TCACore.getInstance()
1518
1950
  try {
1519
- A = u.call('symm/symm', o)
1520
- } catch (r) {
1521
- return TCACErr.throwErr(r, ERRMAP.DECRYPT_ERROR), null
1951
+ b.call('ukey/ukey', a)
1952
+ } catch (d) {
1953
+ return TCACErr.throwErr(d, ERRMAP.DECRYPT_ERROR), !1
1954
+ }
1955
+ return !0
1956
+ }),
1957
+ (tcu.skfCheckDriver = function (a, f) {
1958
+ var b = { parama: a, paramb: f }
1959
+ b = tcu.json2Str(b)
1960
+ var c,
1961
+ d = TCACore.getInstance()
1962
+ try {
1963
+ c = d.call('skf/skfCheckDriver', b)
1964
+ } catch (a) {
1965
+ return TCACErr.throwErr(a, ERRMAP.DECRYPT_ERROR), null
1966
+ }
1967
+ return c
1968
+ }),
1969
+ (tcu.skfListStore = function (a, f) {
1970
+ var b = { driverNameList: a, driverList: f }
1971
+ b = tcu.json2Str(b)
1972
+ var c,
1973
+ d = TCACore.getInstance()
1974
+ try {
1975
+ c = d.call('skf/skfListStore', b)
1976
+ } catch (a) {
1977
+ return TCACErr.throwErr(a, ERRMAP.DECRYPT_ERROR), null
1978
+ }
1979
+ return c
1980
+ }),
1981
+ (tcu.skfListCert = function (l, j, b, k, h) {
1982
+ var g = { providerPath: l, devName: j, appName: b, adminPin: k, userPin: h }
1983
+ g = tcu.json2Str(g)
1984
+ var d,
1985
+ f = TCACore.getInstance()
1986
+ try {
1987
+ d = f.call('skf/skfListCert', g)
1988
+ } catch (l) {
1989
+ return TCACErr.throwErr(l, ERRMAP.DECRYPT_ERROR), null
1990
+ }
1991
+ return d
1992
+ }),
1993
+ (tcu.skfSign = function (j, g, v, k, q, w, d, h, y, f, m, b) {
1994
+ var z = {
1995
+ provName: j,
1996
+ b64Cert: g,
1997
+ hash: v,
1998
+ bSignHash: k,
1999
+ bSignP7: q,
2000
+ bAttr: w,
2001
+ bIncCtx: d,
2002
+ bIncCert: h,
2003
+ inType: y,
2004
+ inParam: f,
2005
+ outType: m,
2006
+ outParam: b
2007
+ }
2008
+ z = tcu.json2Str(z)
2009
+ var p,
2010
+ x = TCACore.getInstance()
2011
+ try {
2012
+ p = x.call('skf/skfSign', z)
2013
+ } catch (j) {
2014
+ return TCACErr.throwErr(j, ERRMAP.DECRYPT_ERROR), null
2015
+ }
2016
+ return p
2017
+ }),
2018
+ (tcu.skfdec = function (j, g, v, k, q, w, d, h, y, f, m, b) {
2019
+ var z = {
2020
+ providerPath: j,
2021
+ devName: g,
2022
+ appName: v,
2023
+ adminPin: k,
2024
+ userPin: q,
2025
+ containerName: w,
2026
+ b64Cert: d,
2027
+ bIsP7: h,
2028
+ inType: y,
2029
+ inParam: f,
2030
+ outType: m,
2031
+ outParam: b
2032
+ }
2033
+ z = tcu.json2Str(z)
2034
+ var p,
2035
+ x = TCACore.getInstance()
2036
+ try {
2037
+ p = x.call('skf/skfdec', z)
2038
+ } catch (j) {
2039
+ return TCACErr.throwErr(j, ERRMAP.DECRYPT_ERROR), null
2040
+ }
2041
+ return p
2042
+ }),
2043
+ (tcu.clearPinCache = function (f) {
2044
+ var b = TCACore.getInstance()
2045
+ var c = { clid: '', method: 'clearpin', params: [f] }
2046
+ c = tcu.json2Str(c)
2047
+ try {
2048
+ return b.call('KeyCom/call', c)
2049
+ } catch (d) {
2050
+ return TCACErr.throwErr(d, ERRMAP.CLEAR_PIN_CACHE_ERROR)
2051
+ }
2052
+ }),
2053
+ (tcu.isSKFProv = function (c) {
2054
+ for (
2055
+ var b = [
2056
+ 'Longmai mToken GM3000 for HNCA CSP V1.1',
2057
+ 'Longmai',
2058
+ 'HSIC SKF CSP For HD Provider',
2059
+ 'HSIC',
2060
+ 'HaiTai Cryptographic Service Provider 20522',
2061
+ 'HaiTai SKF 20522 For HunanCA'
2062
+ ],
2063
+ a = 0;
2064
+ a < b.length;
2065
+ a++
2066
+ ) {
2067
+ if (c == b[a]) {
2068
+ return !0
2069
+ }
2070
+ }
2071
+ return !1
2072
+ }),
2073
+ (tcu.convProvName = function (a) {
2074
+ return 0 == a.indexOf('Longmai')
2075
+ ? 'Longmai'
2076
+ : 0 == a.indexOf('HSIC')
2077
+ ? 'HSIC'
2078
+ : 0 == a.indexOf('HaiTai')
2079
+ ? 'HaiTai SKF 20522 For HunanCA'
2080
+ : void 0
2081
+ }),
2082
+ (tcu.isFFKyLinFT = function () {
2083
+ return 0 < window.navigator.userAgent.indexOf('Linux')
2084
+ }),
2085
+ (tcu.ffKylinFT = {}),
2086
+ (tcu.ffKylinFT.F_IO_MSG = 1),
2087
+ (tcu.ffKylinFT.F_IO_FILE = 2),
2088
+ (tcu.ffKylinFT.F_IO_SELFILE = 4),
2089
+ (tcu.ffKylinFT.F_IO_BIN = 65536),
2090
+ (tcu.ffKylinFT.F_IO_B64 = 131072),
2091
+ (tcu.ffKylinFT.F_IO_HEX = 262144),
2092
+ (tcu.ffKylinFT.F_IO_U8 = 524288),
2093
+ (tcu.ffKylinFT.listKeyStore = function (q) {
2094
+ var m = TCACore.getInstance(),
2095
+ g = { mode: 1, param: '11' }
2096
+ g = tcu.json2Str(g)
2097
+ var b = null
2098
+ try {
2099
+ b = m.call('certStore/skfListProv', g)
2100
+ } catch (q) {
2101
+ return TCACErr.throwErr(q, ERRMAP.LIST_STORE_ERROR), []
2102
+ }
2103
+ q = !m.getCfg('disableWhiteList') && q
2104
+ for (var f = m.getCfg('whiteList'), h = m.getCfg('useAlias'), j = [], v = b.skfDevInfos, p = 0; p < v.length; p++) {
2105
+ var k = v[p].name
2106
+ q
2107
+ ? tcu.strInList(k, f) && j.push({ name: h ? m.full2Alias(k) : k, type: v[p].type })
2108
+ : j.push({ name: h ? m.full2Alias(k) : k, type: v[p].type })
2109
+ }
2110
+ function d(c, l) {
2111
+ var e = Object.getOwnPropertyNames(c),
2112
+ n = Object.getOwnPropertyNames(l)
2113
+ if (e.length != n.length) {
2114
+ return !1
2115
+ }
2116
+ for (var a = 0; a < e.length; a++) {
2117
+ var i = e[a]
2118
+ if (c[i] !== l[i]) {
2119
+ return !1
2120
+ }
2121
+ }
2122
+ return !0
2123
+ }
2124
+ return (function (c) {
2125
+ if (!c) {
2126
+ return null
2127
+ }
2128
+ for (var l = [], e = 0; e < c.length; e++) {
2129
+ for (var n = !0, a = c[e], i = 0; i < l.length; i++) {
2130
+ if (d(a, l[i])) {
2131
+ return (n = !1)
2132
+ }
2133
+ }
2134
+ n && l.push(a)
2135
+ }
2136
+ return l
2137
+ })(j)
2138
+ }),
2139
+ (tcu.ffKylinFT.convCertInfo = function (d) {
2140
+ var c,
2141
+ a = {}
2142
+ ;(a = d.cert),
2143
+ (c = (c = new Date(1000 * a.notBefore).toString()).substr(0, c.lastIndexOf('+'))),
2144
+ (a.notBefore = new Date(c)),
2145
+ (c = (c = new Date(1000 * a.notAfter).toString()).substr(0, c.lastIndexOf('+'))),
2146
+ (a.notAfter = new Date(c))
2147
+ var b = d.priKeyInfo
2148
+ return (
2149
+ (a.keyStoreName = d.keyStoreName),
2150
+ (a.keyStoreType = 1),
2151
+ (a.certStoreName = b.certStoreName),
2152
+ (a.certContainerName = b.containerName),
2153
+ (a.certKeySpec = b.isSignKey ? 2 : 1),
2154
+ a
2155
+ )
2156
+ }),
2157
+ (tcu.ffKylinFT.listAllCerts = function () {
2158
+ var j = CertStore.listStore()
2159
+ var l = TCACore.getInstance(),
2160
+ d = []
2161
+ var b = { certStoreName: 'Longmai', needB64: !0 }
2162
+ b = tcu.json2Str(b)
2163
+ var f = null
2164
+ try {
2165
+ f = l.call('certStore/skfListCerts', b)
2166
+ } catch (l) {
2167
+ return TCACErr.throwErr(l, ERRMAP.LIST_CERT_ERROR), new CertSet()
2168
+ }
2169
+ for (var g = f.certArr, m = 0; m < g.length; m++) {
2170
+ var k = g[m]
2171
+ var h = new Certificate(tcu.ffKylinFT.convCertInfo(k))
2172
+ l.certInLic(h) && d.push(h)
2173
+ }
2174
+ return new CertSet(d)
2175
+ }),
2176
+ (tcu.ffKylinFT.genCsr = function (f, b, g, k) {
2177
+ var j = TCACore.getInstance(),
2178
+ h = {
2179
+ mode: f ? 1 : 2,
2180
+ subject: 'topca',
2181
+ provName: 'Longmai',
2182
+ provType: 1,
2183
+ containerName: b,
2184
+ keySpec: 2,
2185
+ keyAlg: k,
2186
+ hashAlg: g,
2187
+ opation: 1
2188
+ }
2189
+ h = tcu.json2Str(h)
2190
+ var d = null
2191
+ try {
2192
+ d = j.call('certStore/skfGenCsr', h)
2193
+ } catch (f) {
2194
+ return TCACErr.throwErr(f, ERRMAP.LIST_STORE_ERROR), []
2195
+ }
2196
+ return d
2197
+ }),
2198
+ (tcu.ffKylinFT.softGenCsr = function (f, b, h, p, g) {
2199
+ var o = TCACore.getInstance(),
2200
+ j = {
2201
+ mode: f ? 1 : 2,
2202
+ subject: 'topca',
2203
+ provName: g,
2204
+ provType: 1,
2205
+ containerName: b,
2206
+ keySpec: 2,
2207
+ keyAlg: p,
2208
+ hashAlg: h,
2209
+ opation: 1
2210
+ }
2211
+ j = tcu.json2Str(j)
2212
+ var d = null
2213
+ try {
2214
+ d = o.call('certStore/SoftGenCsr', j)
2215
+ } catch (f) {
2216
+ return TCACErr.throwErr(f, ERRMAP.LIST_STORE_ERROR), []
2217
+ }
2218
+ return d
2219
+ }),
2220
+ (tcu.ffKylinFT.parseCert = function (a) {
2221
+ var f = TCACore.getInstance(),
2222
+ b = { certStoreNames: ['Longmai'], b64Cert: a }
2223
+ b = tcu.json2Str(b)
2224
+ var c = null
2225
+ try {
2226
+ c = f.call('cert/skfParseCert', b)
2227
+ } catch (a) {
2228
+ return TCACErr.throwErr(a, ERRMAP.LIST_STORE_ERROR), []
2229
+ }
2230
+ var d = c.certAndKeyInfo
2231
+ return tcu.ffKylinFT.convCertInfo(d)
2232
+ }),
2233
+ (tcu.ffKylinFT.parseP7 = function (d) {
2234
+ var c = TCACore.getInstance(),
2235
+ a = { inType: TCA.IO.MSG | TCA.IO.B64, inParam: d, needCerts: !0, needContent: !0, needB64: !1 }
2236
+ a = tcu.json2Str(a)
2237
+ var b = null
2238
+ try {
2239
+ b = c.call('pkcs7/parsePkcs7', a)
2240
+ } catch (d) {
2241
+ return TCACErr.throwErr(d, ERRMAP.LIST_STORE_ERROR), []
2242
+ }
2243
+ return b.pkcs7Info
2244
+ }),
2245
+ (tcu.ffKylinFT.sign = function (w, p, j, f, h, m, q, d, v) {
2246
+ var k,
2247
+ g = TCACore.getInstance()
2248
+ ;(k = q
2249
+ ? {
2250
+ certStoreName: 'Longmai',
2251
+ b64cert: w,
2252
+ hashAlg: p,
2253
+ inType: j,
2254
+ inParam: f,
2255
+ outType: h,
2256
+ outParam: m,
2257
+ plainIsHash: d
2258
+ }
2259
+ : {
2260
+ certStoreName: 'Longmai',
2261
+ b64cert: w,
2262
+ hashAlg: p,
2263
+ inType: j,
2264
+ inParam: f,
2265
+ outType: h,
2266
+ outParam: m,
2267
+ incAttr: !1,
2268
+ IncCtx: v,
2269
+ IncCert: !0
2270
+ }),
2271
+ (k = tcu.json2Str(k))
2272
+ var b = null,
2273
+ x = q ? 'sign/skfSignRaw' : 'sign/skfSignPkcs7'
2274
+ try {
2275
+ b = g.call(x, k)
2276
+ } catch (w) {
2277
+ return TCACErr.throwErr(w, ERRMAP.LIST_STORE_ERROR), []
2278
+ }
2279
+ return b.result
2280
+ }),
2281
+ (tcu.ffKylinFT.softSign = function (p, x, q, j, f, h, m, v, d, w) {
2282
+ var k,
2283
+ g = TCACore.getInstance()
2284
+ var p = g.getCfg('useAlias') ? g.alias2Full(p) : p
2285
+ ;(k = v
2286
+ ? { certStoreName: p, b64cert: x, hashAlg: q, inType: j, inParam: f, outType: h, outParam: m, plainIsHash: d }
2287
+ : {
2288
+ certStoreName: p,
2289
+ b64cert: x,
2290
+ hashAlg: q,
2291
+ inType: j,
2292
+ inParam: f,
2293
+ outType: h,
2294
+ outParam: m,
2295
+ incAttr: !1,
2296
+ IncCtx: w,
2297
+ IncCert: !0
2298
+ }),
2299
+ (k = tcu.json2Str(k))
2300
+ var b = null,
2301
+ A = v ? 'sign/SoftSignRaw' : 'sign/SoftSignPkcs7'
2302
+ try {
2303
+ b = g.call(A, k)
2304
+ } catch (x) {
2305
+ return TCACErr.throwErr(x, ERRMAP.LIST_STORE_ERROR), []
2306
+ }
2307
+ return b.result
2308
+ }),
2309
+ (tcu.ffKylinFT.verify = function (w, p, j, f, h, m, q, d, v) {
2310
+ var k,
2311
+ g = TCACore.getInstance()
2312
+ ;(k = m
2313
+ ? { b64cert: w, hashAlg: d, plainInType: p, plainInParam: j, signInType: f, signInParam: h, plainIsHash: v }
2314
+ : { b64cert: w, plainInType: p, plainInParam: j, signInType: f, signInParam: h, verifyOption: q }),
2315
+ (k = tcu.json2Str(k))
2316
+ var b = null,
2317
+ x = m ? 'verify/verifyRawSign' : 'verify/verifyPkcs7Sign'
2318
+ try {
2319
+ b = g.call(x, k)
2320
+ } catch (w) {
2321
+ return TCACErr.throwErr(w, ERRMAP.LIST_STORE_ERROR), []
2322
+ }
2323
+ return b
2324
+ }),
2325
+ (tcu.ffKylinFT.enc = function (q, m, g, b, f, h, j) {
2326
+ var v,
2327
+ p = TCACore.getInstance()
2328
+ ;(v = h
2329
+ ? { b64cert: q, inType: m, inParam: g, outType: b, outParam: f }
2330
+ : { b64cert: q, symmAlg: j, inType: m, inParam: g, outType: b, outParam: f }),
2331
+ (v = tcu.json2Str(v))
2332
+ var k = null,
2333
+ d = h ? 'enc/encRaw' : 'enc/encPkcs7'
2334
+ try {
2335
+ k = p.call(d, v)
2336
+ } catch (q) {
2337
+ return TCACErr.throwErr(q, ERRMAP.LIST_STORE_ERROR), []
2338
+ }
2339
+ return k
2340
+ }),
2341
+ (tcu.ffKylinFT.dec = function (m, k, f, b, d, g) {
2342
+ var h,
2343
+ p = TCACore.getInstance()
2344
+ ;(h = m
2345
+ ? { certStoreNames: ['Longmai'], inType: k, inParam: f, outType: b, outParam: d }
2346
+ : { certStoreName: 'Longmai', b64cert: g, inType: k, inParam: f, outType: b, outParam: d }),
2347
+ (h = tcu.json2Str(h))
2348
+ var l = null,
2349
+ j = m ? 'dec/skfDecPkcs7' : 'dec/skfDecRaw'
2350
+ try {
2351
+ l = p.call(j, h)
2352
+ } catch (m) {
2353
+ return TCACErr.throwErr(m, ERRMAP.LIST_STORE_ERROR), []
2354
+ }
2355
+ return l
2356
+ }),
2357
+ (tcu.ffKylinFT.installSign = function (d) {
2358
+ var c = TCACore.getInstance(),
2359
+ a = { certStoreName: 'Longmai', b64SignCertP7: d, b64SignCert: '', installCertChain: !0, saveUserCertToCSP: !0 }
2360
+ a = tcu.json2Str(a)
2361
+ var b = null
2362
+ try {
2363
+ b = c.call('certStore/skfInstallSignCert', a)
2364
+ } catch (d) {
2365
+ return TCACErr.throwErr(d, ERRMAP.LIST_STORE_ERROR), []
2366
+ }
2367
+ return b
2368
+ }),
2369
+ (tcu.ffKylinFT.installEnc = function (b, l, h, f, g, j) {
2370
+ var k = TCACore.getInstance(),
2371
+ d = {
2372
+ certStoreName: 'Longmai',
2373
+ gmmode: !1,
2374
+ b64SignCert: b,
2375
+ b64EncCert: l,
2376
+ b64EncSymmKey: h,
2377
+ b64Iv: f,
2378
+ b64EncPrivateKey: j,
2379
+ symmAlg: g,
2380
+ option: 0
2381
+ }
2382
+ d = tcu.json2Str(d)
2383
+ var m = null
2384
+ try {
2385
+ m = k.call('certStore/skfInstallEncCert', d)
2386
+ } catch (b) {
2387
+ return TCACErr.throwErr(b, ERRMAP.LIST_STORE_ERROR), []
2388
+ }
2389
+ return m
2390
+ }),
2391
+ (tcu.ffKylinFT.clearPinCache = function (g, c) {
2392
+ var b = TCACore.getInstance()
2393
+ var d = { b64cert: c, certStoreName: g }
2394
+ d = tcu.json2Str(d)
2395
+ try {
2396
+ return b.call('certStore/skfPinCacheClear', d)
2397
+ } catch (f) {
2398
+ if (f.number === 556466177) {
2399
+ return true
2400
+ }
2401
+ return TCACErr.throwErr(f, ERRMAP.CLEAR_PIN_CACHE_ERROR)
2402
+ }
2403
+ }),
2404
+ (tcu.ffKylinFT.verifyPin = function (h, i, f) {
2405
+ var d = TCACore.getInstance()
2406
+ var b = { b64cert: i, certStoreName: h, userPin: f }
2407
+ b = tcu.json2Str(b)
2408
+ var c = null
2409
+ try {
2410
+ c = d.call('certStore/skfVerifyPin', b)
2411
+ } catch (g) {
2412
+ return TCACErr.throwErr(g, ERRMAP.VERIFY_PIN_ERROR)
2413
+ }
2414
+ return c
2415
+ }),
2416
+ (tcu.ffKylinFT.delCert = function (g, h) {
2417
+ var d = TCACore.getInstance()
2418
+ var b = { b64Cert: h, certStoreName: g }
2419
+ b = tcu.json2Str(b)
2420
+ var c = null
2421
+ try {
2422
+ c = d.call('skf/certStore/skfDelCert', b)
2423
+ } catch (f) {
2424
+ return TCACErr.throwErr(f, ERRMAP.VERIFY_PIN_ERROR)
2425
+ }
2426
+ return c
2427
+ }),
2428
+ (tcu.ffKylinFT.softDelCert = function (g, h) {
2429
+ var d = TCACore.getInstance()
2430
+ var b = { b64Cert: h, certStoreName: g, delKey: true }
2431
+ b = tcu.json2Str(b)
2432
+ var c = null
2433
+ try {
2434
+ c = d.call('certStore/SoftDelCert', b)
2435
+ } catch (f) {
2436
+ return TCACErr.throwErr(f, ERRMAP.VERIFY_PIN_ERROR)
2437
+ }
2438
+ return c
2439
+ }),
2440
+ (tcu.ffKylinFT.softImportP12 = function (i, h, g) {
2441
+ var d = TCACore.getInstance()
2442
+ var b = { p12Pwd: i, inType: h, inParam: g }
2443
+ b = tcu.json2Str(b)
2444
+ var c = null
2445
+ try {
2446
+ c = d.call('certStore/SoftImportP12', b)
2447
+ } catch (f) {
2448
+ return TCACErr.throwErr(f, ERRMAP.VERIFY_PIN_ERROR)
2449
+ }
2450
+ return c
2451
+ }),
2452
+ (tcu.ffKylinFT.getDriveVersion = function () {
2453
+ var c = TCACore.getInstance()
2454
+ var b = CertStore.listStore()
2455
+ if (b.length == 0) {
2456
+ return ''
2457
+ }
2458
+ var h = b[0]
2459
+ var d = { certStoreName: h }
2460
+ d = tcu.json2Str(d)
2461
+ var f = null
2462
+ try {
2463
+ f = c.call('certStore/skfGetDevInfo', d)
2464
+ } catch (g) {
2465
+ return TCACErr.throwErr(g, ERRMAP.GET_DEVINFO_ERROR)
1522
2466
  }
1523
- return A
2467
+ return f.skfdevInfos.Version
1524
2468
  })
1525
2469
 
1526
2470
  /*
@@ -1563,11 +2507,7 @@ try {
1563
2507
  Notification({
1564
2508
  title: '提示',
1565
2509
  dangerouslyUseHTMLString: true,
1566
- message: `<div>检测到您的电脑中没有安装签名助手,为了不影响使用请使用管理员权限<a class="color-primary" href="/portal/${
1567
- process.env.VUE_APP_NetSign_ARG_SignName ||
1568
- window.VUE_APP_NetSign_ARG_SignName ||
1569
- '天诚安信数字证书助手-3.7.7.0.exe'
1570
- }" download>下载安装</a>天诚安信数字证书助手</div>`,
2510
+ message: `<div>检测到您的电脑中没有安装签名助手,为了不影响使用请使用管理员权限<a class="color-primary" href="/portal/天诚安信数字证书助手-3.7.7.0.exe" download>下载安装</a>天诚安信数字证书助手</div>`,
1571
2511
  duration: 5000
1572
2512
  })
1573
2513
  }
@@ -1610,7 +2550,11 @@ export function getSign(plain, dn) {
1610
2550
  }
1611
2551
  }
1612
2552
  if (sginCert) {
1613
- return sginCert.signMessage(plain, false)
2553
+ sginCert.clearPinCache()
2554
+ return sginCert.signMessage(
2555
+ plain,
2556
+ process.env.VUE_APP_NetSign_ARG_PLAIN || window.VUE_APP_NetSign_ARG_PLAIN || true
2557
+ )
1614
2558
  } else {
1615
2559
  Message.warning('没有匹配到证书!')
1616
2560
  }
@@ -1621,6 +2565,7 @@ export function getSign(plain, dn) {
1621
2565
  if (e instanceof TCACErr) {
1622
2566
  Message.error(e.toStr())
1623
2567
  } else {
2568
+ console.log('签名失败', e)
1624
2569
  Message.error('签名失败!')
1625
2570
  }
1626
2571
  }