PageSourceSearch

https://crediview.co.kr/script/nxts/nxtspki.js

js crediview.co.kr collected 2026-10-08 23:40:12 UTC 22,730 bytes, 585 lines download raw bytes

1/**
2 * Created by jhkoo77 on 2015-09-04.
3 */
4
5function nx_callback(callback) {
6  var fn = function (res) {
7    console.log(res);
8    callback(res);
9  };
10  return fn;
11}
12
13// os 확인
14function getAgentSystem() {
15  if (typeof navigator === 'undefined') {
16    return 'unknown';
17  }
18
19  // 'userAgentData'의 platform이 있으면 이를 사용하고, 아니면 빈 문자열 반환
20  const platform = navigator.userAgentData?.platform || '';
21
22  // 만약 'userAgentData'를 지원하지 않는다면 userAgent 문자열을 사용
23  const userAgent = navigator.userAgent || '';
24  const platformLower = platform.toLowerCase() || userAgent.toLowerCase();
25
26  if (platformLower.startsWith('win')) return 'windows';
27  if (platformLower.startsWith('mac')) return 'macos';
28  if (platformLower.startsWith('linux')) return 'linux';
29  return 'unknown';
30}
31
32var nxTSPKIObj = (function (parentObj, $) {
33  var _toolkit = {};
34  var _moduleName = window.nxTSConfig.TSTOOLKIT;
35  _toolkit = $.extend({}, parentObj);
36
37  _toolkit._getResultTimer = new nxTSUtil.timer(window.nxTSConfig.getResultInterval, function () {
38    nxTSPKIObj.getResult(nxts_get_result_complete_callback).invoke();
39  });
40
41  _toolkit.createCommand = function (cmd, data, ctx) {
42    ctx = ctx || {};
43    ctx.obj = nxTSPKIObj;
44    var cmd = window.nxTSCommon.createCommand(_moduleName, cmd, data, ctx);
45    cmd.data.async = true;
46    return cmd;
47  };
48
49  _toolkit.signFile = function (dataFile, signedDataFile, options, callback, etc) {
50    options = $.extend({}, window.nxTSPKIConfig.options, options);
51    var cmd = this.createCommand(
52      'signFile',
53      { options: options, dataFile: dataFile, signedDataFile: signedDataFile },
54      { callback: callback, etc: etc },
55    );
56    this.startGetResultTimer(cmd.data.rid, etc);
57    return cmd;
58  };
59  _toolkit.addSignInSignedData = function (signedData, options, callback, etc) {
60    options = $.extend({}, window.nxTSPKIConfig.options, options);
61    var cmd = this.createCommand(
62      'addSignInSignedData',
63      { options: options, signedData: signedData },
64      { callback: callback, etc: etc },
65    );
66    this.startGetResultTimer(cmd.data.rid, etc);
67    return cmd;
68  };
69
70  _toolkit.addSignInSignedFile = function (signedDataFile, addedSignedDataFile, options, callback, etc) {
71    options = $.extend({}, window.nxTSPKIConfig.options, options);
72    var cmd = this.createCommand(
73      'addSignInSignedFile',
74      { options: options, signedDataFile: signedDataFile, addedSignedDataFile: addedSignedDataFile },
75      { callback: callback, etc: etc },
76    );
77    this.startGetResultTimer(cmd.data.rid, etc);
78    return cmd;
79  };
80  _toolkit.signDataWithTimeStampToken = function (data, options, callback, etc) {
81    options = $.extend({}, window.nxTSPKIConfig.options, options);
82    var cmd = this.createCommand(
83      'signDataWithTimeStampToken',
84      { options: options, data: data },
85      { callback: callback, etc: etc },
86    );
87    this.startGetResultTimer(cmd.data.rid, etc);
88    return cmd;
89  };
90  _toolkit.signData = function (data, options, callback, etc) {
91    options = $.extend({}, window.nxTSPKIConfig.options, options);
92    var cmd = this.createCommand('signData', { options: options, data: data }, { callback: callback, etc: etc });
93    this.startGetResultTimer(cmd.data.rid, etc);
94    return cmd;
95  };
96  _toolkit.verifySignedData = function (data, options, callback, etc) {
97    options = $.extend({}, window.nxTSPKIConfig.options, options);
98    var cmd = this.createCommand(
99      'verifySignedData',
100      { options: options, data: data },
101      { callback: callback, etc: etc },
102    );
103    this.startGetResultTimer(cmd.data.rid, etc);
104    return cmd;
105  };
106  _toolkit.verifySignedFile = function (signedDataFile, dataFile, contentFile, options, callback, etc) {
107    options = $.extend({}, window.nxTSPKIConfig.options, options);
108    var cmd = this.createCommand(
109      'verifySignedFile',
110      { options: options, signedDataFile: signedDataFile, dataFile: dataFile, contentFile: contentFile },
111      { callback: callback, etc: etc },
112    );
113    this.startGetResultTimer(cmd.data.rid, etc);
114    return cmd;
115  };
116  _toolkit.base64EncodeData = function (data, callback, etc) {
117    var cmd = this.createCommand('base64EncodeData', { data: data }, { callback: callback, etc: etc });
118    this.startGetResultTimer(cmd.data.rid, etc);
119    return cmd;
120  };
121  _toolkit.base64DecodeData = function (data, callback, etc) {
122    var cmd = this.createCommand('base64DecodeData', { data: data }, { callback: callback, etc: etc });
123    this.startGetResultTimer(cmd.data.rid, etc);
124    return cmd;
125  };
126  _toolkit.encryptData = function (data, key, options, callback, etc) {
127    options = $.extend({}, window.nxTSPKIConfig.options, options);
128    var cmd = this.createCommand(
129      'encryptData',
130      { options: options, data: data, key: key },
131      { callback: callback, etc: etc },
132    );
133    this.startGetResultTimer(cmd.data.rid, etc);
134    return cmd;
135  };
136  _toolkit.decryptData = function (data, key, options, callback, etc) {
137    options = $.extend({}, window.nxTSPKIConfig.options, options);
138    var cmd = this.createCommand(
139      'decryptData',
140      { options: options, data: data, key: key },
141      { callback: callback, etc: etc },
142    );
143    this.startGetResultTimer(cmd.data.rid, etc);
144    return cmd;
145  };
146  _toolkit.encryptFile = function (dataFile, encryptedDataFile, key, options, callback, etc) {
147    options = $.extend({}, window.nxTSPKIConfig.options, options);
148    var cmd = this.createCommand(
149      'encryptFile',
150      { options: options, dataFile: dataFile, encryptedDataFile: encryptedDataFile, key: key },
151      { callback: callback, etc: etc },
152    );
153    this.startGetResultTimer(cmd.data.rid, etc);
154    return cmd;
155  };
156  _toolkit.decryptFile = function (encryptedDataFile, dataFile, key, options, callback, etc) {
157    options = $.extend({}, window.nxTSPKIConfig.options, options);
158    var cmd = this.createCommand(
159      'decryptFile',
160      { options: options, encryptedDataFile: encryptedDataFile, dataFile: dataFile, key: key },
161      { callback: callback, etc: etc },
162    );
163    this.startGetResultTimer(cmd.data.rid, etc);
164    return cmd;
165  };
166  _toolkit.envelopFile = function (dataFile, envelopedDataFile, kmCert, options, callback, etc) {
167    options = $.extend({}, window.nxTSPKIConfig.options, options);
168    var cmd = this.createCommand(
169      'envelopFile',
170      { options: options, dataFile: dataFile, envelopedDataFile: envelopedDataFile, kmCert: kmCert },
171      { callback: callback, etc: etc },
172    );
173    this.startGetResultTimer(cmd.data.rid, etc);
174    return cmd;
175  };
176  _toolkit.decryptEnvelopedFile = function (envelopedDataFile, dataFile, options, callback, etc) {
177    options = $.extend({}, window.nxTSPKIConfig.options, options);
178    var cmd = this.createCommand(
179      'decryptEnvelopedFile',
180      { options: options, envelopedDataFile: envelopedDataFile, dataFile: dataFile },
181      { callback: callback, etc: etc },
182    );
183    this.startGetResultTimer(cmd.data.rid, etc);
184    return cmd;
185  };
186  _toolkit.envelopData = function (data, kmCert, options, callback, etc) {
187    options = $.extend({}, window.nxTSPKIConfig.options, options);
188    var cmd = this.createCommand(
189      'envelopData',
190      { options: options, data: data, kmCert: kmCert },
191      { callback: callback, etc: etc },
192    );
193    this.startGetResultTimer(cmd.data.rid, etc);
194    return cmd;
195  };
196  _toolkit.decryptEnvelopedData = function (envelopedData, options, callback, etc) {
197    options = $.extend({}, window.nxTSPKIConfig.options, options);
198    var cmd = this.createCommand(
199      'decryptEnvelopedData',
200      { options: options, envelopedData: envelopedData },
201      { callback: callback, etc: etc },
202    );
203    this.startGetResultTimer(cmd.data.rid, etc);
204    return cmd;
205  };
206  _toolkit.hashData = function (algorithm, data, callback, etc) {
207    var cmd = this.createCommand('hashData', { data: data, algorithm: algorithm }, { callback: callback, etc: etc });
208    this.startGetResultTimer(cmd.data.rid, etc);
209    return cmd;
210  };
211  _toolkit.hashFile = function (algorithm, dataFile, callback, etc) {
212    var cmd = this.createCommand(
213      'hashFile',
214      { dataFile: dataFile, algorithm: algorithm },
215      { callback: callback, etc: etc },
216    );
217    this.startGetResultTimer(cmd.data.rid, etc);
218    return cmd;
219  };
220  _toolkit.generateSignature = function (dataType, data, options, callback, etc) {
221    options = $.extend({}, window.nxTSPKIConfig.options, options);
222    var cmd = this.createCommand(
223      'generateSignature',
224      { dataType: dataType, data: data, options: options },
225      { callback: callback, etc: etc },
226    );
227    this.startGetResultTimer(cmd.data.rid, etc);
228    return cmd;
229  };
230  _toolkit.generateRandomNumber = function (length, callback, etc) {
231    var cmd = this.createCommand('generateRandomNumber', { length: length }, { callback: callback, etc: etc });
232    this.startGetResultTimer(cmd.data.rid, etc);
233    return cmd;
234  };
235  _toolkit.verifySignature = function (dataType, data, signature, cert, callback, etc) {
236    var cmd = this.createCommand(
237      'verifySignature',
238      { dataType: dataType, data: data, signature: signature, cert: cert },
239      { callback: callback, etc: etc },
240    );
241    this.startGetResultTimer(cmd.data.rid, etc);
242    return cmd;
243  };
244  _toolkit.getDataFromLDAP = function (url, dataType, options, callback, etc) {
245    options = $.extend({}, window.nxTSPKIConfig.options, options);
246    var cmd = this.createCommand(
247      'getDataFromLDAP',
248      { url: url, dataType: dataType, options: options },
249      { callback: callback, etc: etc },
250    );
251    this.startGetResultTimer(cmd.data.rid, etc);
252    return cmd;
253  };
254  _toolkit.getCertificateProperties = function (cert, options, callback, etc) {
255    options = $.extend({}, window.nxTSPKIConfig.options, options);
256    var cmd = this.createCommand(
257      'getCertificateProperties',
258      { cert: cert, options: options },
259      { callback: callback, etc: etc },
260    );
261    this.startGetResultTimer(cmd.data.rid, etc);
262    return cmd;
263  };
264  _toolkit.loginData = function (sessionId, ssn, userInfo, options, callback, etc) {
265    options = $.extend({}, window.nxTSPKIConfig.options, options);
266    var cmd = this.createCommand(
267      'loginData',
268      { sessionId: sessionId, ssn: ssn, userInfo: userInfo, options: options },
269      { callback: callback, etc: etc },
270    );
271    this.startGetResultTimer(cmd.data.rid, etc);
272    return cmd;
273  };
274  _toolkit.verifySigData = function (sigData, contentFolderPath, options, callback, etc) {
275    options = $.extend({}, window.nxTSPKIConfig.options, options);
276    var cmd = this.createCommand(
277      'verifySigData',
278      { sigData: sigData, contentFolderPath: contentFolderPath, options: options },
279      { callback: callback, etc: etc },
280    );
281    this.startGetResultTimer(cmd.data.rid, etc);
282    return cmd;
283  };
284  _toolkit.makeSigData = function (content, fileName, lastModificationTime, options, callback, etc) {
285    options = $.extend({}, window.nxTSPKIConfig.options, options);
286    var cmd = this.createCommand(
287      'makeSigData',
288      { content: content, fileName: fileName, lastModificationTime: lastModificationTime, options: options },
289      { callback: callback, etc: etc },
290    );
291    this.startGetResultTimer(cmd.data.rid, etc);
292    return cmd;
293  };
294
295  _toolkit.makeSigFile = function (contentFilePath, sigFilePath, options, callback, etc) {
296    options = $.extend({}, window.nxTSPKIConfig.options, options);
297    var cmd = this.createCommand(
298      'makeSigFile',
299      { contentFilePath: contentFilePath, sigFilePath: sigFilePath, options: options },
300      { callback: callback, etc: etc },
301    );
302    this.startGetResultTimer(cmd.data.rid, etc);
303    return cmd;
304  };
305  _toolkit.addSignInSigData = function (sigData, options, callback, etc) {
306    options = $.extend({}, window.nxTSPKIConfig.options, options);
307    var cmd = this.createCommand(
308      'addSignInSigData',
309      { sigData: sigData, options: options },
310      { callback: callback, etc: etc },
311    );
312    this.startGetResultTimer(cmd.data.rid, etc);
313    return cmd;
314  };
315
316  _toolkit.addSignInSigFile = function (sigFilePath, newSigFilePath, options, callback, etc) {
317    options = $.extend({}, window.nxTSPKIConfig.options, options);
318    var cmd = this.createCommand(
319      'addSignInSigFile',
320      { sigFilePath: sigFilePath, newSigFilePath: newSigFilePath, options: options },
321      { callback: callback, etc: etc },
322    );
323    this.startGetResultTimer(cmd.data.rid, etc);
324    return cmd;
325  };
326  _toolkit.verifySigFile = function (sigFilePath, contentFolderPath, options, callback, etc) {
327    options = $.extend({}, window.nxTSPKIConfig.options, options);
328    var cmd = this.createCommand(
329      'verifySigFile',
330      { sigFilePath: sigFilePath, contentFolderPath: contentFolderPath, options: options },
331      { callback: callback, etc: etc },
332    );
333    this.startGetResultTimer(cmd.data.rid, etc);
334    return cmd;
335  };
336  _toolkit.verifyVID = function (ssn, options, callback, etc) {
337    options = $.extend({}, window.nxTSPKIConfig.options, options);
338    var cmd = this.createCommand('verifyVID', { ssn: ssn, options: options }, { callback: callback, etc: etc });
339    this.startGetResultTimer(cmd.data.rid, etc);
340    return cmd;
341  };
342  _toolkit.verifyVID2 = function (cert, ssn, r, options, callback, etc) {
343    options = $.extend({}, window.nxTSPKIConfig.options, options);
344    var cmd = this.createCommand(
345      'verifyVID2',
346      { ssn: ssn, cert: cert, r: r, options: options },
347      { callback: callback, etc: etc },
348    );
349    this.startGetResultTimer(cmd.data.rid, etc);
350    return cmd;
351  };
352  _toolkit.makeBiddingData = function (data, kmCertInfo, options, callback, etc) {
353    options = $.extend({}, window.nxTSPKIConfig.options, options);
354    var cmd = this.createCommand(
355      'makeBiddingData',
356      { options: options, data: data, kmCertInfo: kmCertInfo },
357      { callback: callback, etc: etc },
358    );
359    this.startGetResultTimer(cmd.data.rid, etc);
360    return cmd;
361  };
362  _toolkit.multiSignData = function (data, options, callback, etc) {
363    options = $.extend({}, window.nxTSPKIConfig.options, options);
364    var cmd = this.createCommand('multiSignData', { options: options, data: data }, { callback: callback, etc: etc });
365    this.startGetResultTimer(cmd.data.rid, etc);
366    return cmd;
367  };
368  _toolkit.multiSignFile = function (data, options, callback, etc) {
369    options = $.extend({}, window.nxTSPKIConfig.options, options);
370    var cmd = this.createCommand('multiSignFile', { options: options, data: data }, { callback: callback, etc: etc });
371    this.startGetResultTimer(cmd.data.rid, etc);
372    return cmd;
373  };
374  _toolkit.multiGenerateSignature = function (data, options, callback, etc) {
375    options = $.extend({}, window.nxTSPKIConfig.options, options);
376    var cmd = this.createCommand(
377      'multiGenerateSignature',
378      { options: options, data: data },
379      { callback: callback, etc: etc },
380    );
381    this.startGetResultTimer(cmd.data.rid, etc);
382    return cmd;
383  };
384  _toolkit.multiSignDataWithTimeStampToken = function (data, options, callback, etc) {
385    options = $.extend({}, window.nxTSPKIConfig.options, options);
386    var cmd = this.createCommand(
387      'multiSignDataWithTimeStampToken',
388      { options: options, data: data },
389      { callback: callback, etc: etc },
390    );
391    this.startGetResultTimer(cmd.data.rid, etc);
392    return cmd;
393  };
394  _toolkit.getCertificatesAndKeys = function (data, options, callback, etc) {
395    options = $.extend({}, window.nxTSPKIConfig.options, options);
396    var cmd = this.createCommand(
397      'getCertificatesAndKeys',
398      { options: options, data: data },
399      { callback: callback, etc: etc },
400    );
401    this.startGetResultTimer(cmd.data.rid, etc);
402    return cmd;
403  };
404  _toolkit.genSignatureStart = function (options, callback, etc) {
405    options = $.extend({}, window.nxTSPKIConfig.options, options);
406    var cmd = this.createCommand('genSignatureStart', { options: options }, { callback: callback, etc: etc });
407    this.startGetResultTimer(cmd.data.rid, etc);
408    return cmd;
409  };
410  _toolkit.genSignatureRunAndClear = function (dataType, data, options, callback, etc) {
411    options = $.extend({}, window.nxTSPKIConfig.options, options);
412    var cmd = this.createCommand(
413      'genSignatureRunAndClear',
414      { dataType: dataType, data: data, options: options },
415      { callback: callback, etc: etc },
416    );
417    this.startGetResultTimer(cmd.data.rid, etc);
418    return cmd;
419  };
420  _toolkit.genSignatureClear = function (options, callback, etc) {
421    options = $.extend({}, window.nxTSPKIConfig.options, options);
422    var cmd = this.createCommand('genSignatureClear', { options: options }, { callback: callback, etc: etc });
423    this.startGetResultTimer(cmd.data.rid, etc);
424    return cmd;
425  };
426  _toolkit.getResult = function (callback) {
427    var cmd = this.createCommand('getResult', { ajaxto: window.nxTSConfig.getResultTimeout }, { callback: callback });
428    cmd.data.async = false;
429    return cmd;
430  };
431
432  return _toolkit;
433})(window.nxTSCommonObj, jQuery);
434
435var nxTSPKI = (function (parentObj, $) {
436  var _toolkit = {};
437  var _parentToolkit = parentObj;
438
439  var _proxyFunctionNames = [
440    'signData',
441    'verifySignedData',
442    'signFile',
443    'verifySignedFile',
444    'encryptData',
445    'decryptData',
446    'encryptFile',
447    'decryptFile',
448    'envelopData',
449    'decryptEnvelopedData',
450    'envelopFile',
451    'decryptEnvelopedFile',
452    'generateSignature',
453    'verifySignature',
454    'verifySignedData',
455    'addSignInSignedFile',
456    'verifySignedFile',
457    'hashData',
458    'hashFile',
459    'loginData',
460    'base64EncodeData',
461    'base64DecodeData',
462    'getDataFromLDAP',
463    'generateRandomNumber',
464    'getCertificateProperties',
465    'makeSigData',
466    'verifySigData',
467    'makeSigFile',
468    'verifySigFile',
469    'addSignInSigData',
470    'addSignInSigFile',
471    'verifyVID',
472    'verifyVID2',
473    'addSignInSignedData',
474    'addSignInSignedFile',
475    'signDataWithTimeStampToken',
476    'makeBiddingData',
477    'multiSignData',
478    'multiSignFile',
479    'multiGenerateSignature',
480    'multiSignDataWithTimeStampToken',
481    'getCertificatesAndKeys',
482    'genSignatureStart',
483    'genSignatureRunAndClear',
484    'genSignatureClear',
485  ];
486
487  _toolkit = $.extend(parentObj, _toolkit);
488
489  window.nxTSCommon.backupOrgFunctions(_parentToolkit, _proxyFunctionNames);
490  window.nxTSCommon.createProxyFunctions(_parentToolkit, _toolkit, 'callWithInit', _proxyFunctionNames);
491
492  _toolkit.callWithInit = function (name, fn, args) {
493    var initSuccess = function (res) {
494      if (res == undefined || res.code != window.nxTSError.res_success) {
495        window.nxTSUtil.showError(res);
496        return;
497      }
498      window.nxTSLog.i(name.replace('_par_', ''));
499      //nxTSLog.d(name.replace("_par_",""),nxTSUtil.maskPassword(args));
500      var cmd = fn.apply(parentObj, args);
501      window.nxTSLog.d(name.replace('_par_', ''), window.nxTSUtil.maskPassword(cmd.data.data));
502
503      cmd.invoke();
504    };
505
506    if (window.nxTSSession.isInit() == false) {
507      window.nxTSCommon.init(
508        {
509          versionCheck: [window.nxTSConfig.TSTOOLKIT],
510          installMessage: window.nxTSPKIConfig.installMessage,
511          installPage: window.nxTSPKIConfig.installPage,
512        },
513        initSuccess,
514      );
515    } else initSuccess({ code: window.nxTSError.res_success });
516  };
517
518  _toolkit.installCheck = function (callback) {
519    setTimeout(function () {
520      window.nxTSCommon.installCheck(false, {
521        ajaxto: 3000,
522        success: function (res, data, other, other2) {
523          //커스텀
524          const success = res.code === window.nxTSError.res_success;
525          if (callback) callback(success, res);
526
527          // if (callback) callback(!(res.code !== window.nxTSError.res_success)); // 콜백 함수로 코드 전달
528          // if (res.code != window.nxTSError.res_success) {
529          // const _installMessage = `${nxTSPKIConfig.installMessage}\n\nNX 권장버전: ${nxTSPKIConfig.version.nx} (현재버전: ${res.data.nx})\nTSPKI 권장버전: ${nxTSPKIConfig.version.tstoolkit} (현재버전: ${res.data.tstoolkit})`;
530          // if (confirm(window.nxTSPKIConfig.installMessage) == true) {
531          //   // const link = document.createElement('a');
532          //   // link.href = '/download/nxtspkisetup.exe';
533          //   // link.download = 'nxtspkisetup.exe';
534          //   // document.body.appendChild(link);
535          //   // link.click();
536          //   // document.body.removeChild(link);
537          //   window.location.href = window.nxTSPKIConfig.installPage;
538          // }
539          // }
540        },
541        versionCheck: [window.nxTSConfig.TSTOOLKIT],
542      });
543    }, 500);
544  };
545
546  _toolkit.init = function (transparentDisableBrowser, disableBrowser, fn) {
547    if (getAgentSystem() !== 'windows') {
548      // alert('인증서 관련 서비스는 Window OS만 지원됩니다.');
549      return;
550    }
551
552    if (typeof disableBrowser === 'function') {
553      fn = disableBrowser;
554      disableBrowser = true;
555    }
556    disableBrowser = typeof disableBrowser === 'boolean' ? disableBrowser : true;
557    transparentDisableBrowser = typeof transparentDisableBrowser === 'boolean' ? transparentDisableBrowser : false;
558
559    if (fn != undefined) {
560      window.nxTSPKI.onInit(fn);
561    }
562    setTimeout(function () {
563      if (window.nxTSSession.isInit() == false) {
564        window.nxTSCommon.init(
565          {
566            transparentDisableBrowser: transparentDisableBrowser,
567            disableBrowser: disableBrowser,
568            versionCheck: [window.nxTSConfig.TSTOOLKIT],
569            installMessage: window.nxTSPKIConfig.installMessage,
570            installPage: window.nxTSPKIConfig.installPage,
571          },
572          function (res) {
573            if (res.code == window.nxTSError.res_success) window.nxTSPKI.callPostInit();
574          },
575        );
576      } else {
577        window.nxTSPKI.callPostInit();
578      }
579    }, 500);
580  };
581
582  window.nxTSCommon.updateConfig(window.nxTSPKIConfig);
583
584  return _toolkit;
585})(window.nxTSPKIObj, jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.