n20-common-lib 2.9.13 → 2.9.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/nstc-g6/components/NstcCharts/NstcCharts.vue +16 -8
  2. package/package.json +8 -5
  3. package/src/assets/css/approve-card.scss +1 -1
  4. package/src/assets/css/date-quarter.scss +8 -0
  5. package/src/assets/css/expandable-pane.scss +7 -0
  6. package/src/assets/css/file-upload-table.scss +2 -3
  7. package/src/assets/css/font-icon.scss +3 -1
  8. package/src/assets/css/message.scss +6 -6
  9. package/src/assets/css/normalize.scss +4 -1
  10. package/src/assets/css/table.scss +16 -11
  11. package/src/assets/iconFont/SIMSUN.ttf +0 -0
  12. package/src/assets/iconFont/font.css +4 -0
  13. package/src/components/AIButton/index.vue +101 -0
  14. package/src/components/AdvancedFilter/formItemRender.vue +7 -4
  15. package/src/components/AdvancedFilter/index.vue +6 -7
  16. package/src/components/Anchor/index.vue +1 -0
  17. package/src/components/ApprovalButtons/index.vue +404 -82
  18. package/src/components/ApprovalButtons/indexApp.vue +1102 -0
  19. package/src/components/ApprovalButtons/selectSpr.vue +128 -0
  20. package/src/components/ApprovalButtons/setCarboncopyProp.vue +1 -1
  21. package/src/components/ApprovalButtons/setRejectToProp.vue +45 -5
  22. package/src/components/ApprovalButtons/showAppOpi.vue +265 -8
  23. package/src/components/ApprovalButtons/showOtherAttrNew.vue +161 -0
  24. package/src/components/ApprovalCard/index.vue +190 -44
  25. package/src/components/ApprovalCard/indexApp.vue +592 -0
  26. package/src/components/ApprovalRecord/approvalImgPro/child.vue +1 -1
  27. package/src/components/ApprovalRecord/approvalImgPro/index.vue +42 -5
  28. package/src/components/ApprovalRecord/index.vue +23 -6
  29. package/src/components/ApprovalRecord/indexApp.vue +79 -0
  30. package/src/components/AttachmentPass/index.vue +286 -0
  31. package/src/components/Button/button-group.vue +3 -1
  32. package/src/components/CascaderArea/index.vue +5 -6
  33. package/src/components/DatePicker/por.vue +31 -1
  34. package/src/components/DateSelect/quarterDatePicker.vue +23 -1
  35. package/src/components/Descriptions/index.vue +7 -3
  36. package/src/components/Dialog/index.vue +4 -0
  37. package/src/components/Diff/index.vue +4 -2
  38. package/src/components/DynamicField/DynamicField.vue +29 -6
  39. package/src/components/DynamicField/DynamicFieldMixin.js +13 -5
  40. package/src/components/DynamicField/DynamicFieldOptions.vue +135 -62
  41. package/src/components/DynamicField/DynamicTable.vue +11 -1
  42. package/src/components/DynamicField/contentPop.vue +110 -0
  43. package/src/components/DynamicField/tableList.vue +5 -1
  44. package/src/components/DynamicField/tableView.vue +143 -0
  45. package/src/components/ECharts/index.vue +15 -9
  46. package/src/components/Expandable/main.vue +17 -2
  47. package/src/components/FileImport/index.vue +4 -5
  48. package/src/components/FileUploadTable/FileUploadTableV3.vue +937 -0
  49. package/src/components/FileUploadTable/aiCheckDialog.vue +139 -0
  50. package/src/components/FileUploadTable/index.vue +251 -33
  51. package/src/components/FileUploadTable/jytg.svg +6 -0
  52. package/src/components/FileUploadTable/wsc.svg +3 -0
  53. package/src/components/FileUploadTable/ysc.svg +3 -0
  54. package/src/components/HandlingAdvice/index.vue +191 -0
  55. package/src/components/InputAccount/index.vue +105 -0
  56. package/src/components/InputNumber/index.vue +16 -4
  57. package/src/components/InputNumber/numberRange.vue +14 -0
  58. package/src/components/InputSearch/index.vue +8 -0
  59. package/src/components/Layout/HeaderWrap/changePwd.vue +50 -23
  60. package/src/components/Layout/HeaderWrap/index.vue +2 -2
  61. package/src/components/Layout/HeaderWrap/indexN.vue +296 -119
  62. package/src/components/Layout/SubContent/index.vue +45 -14
  63. package/src/components/Layout/indexN.vue +26 -5
  64. package/src/components/LoginTemporary/form.vue +126 -34
  65. package/src/components/LoginTemporary/index.vue +14 -3
  66. package/src/components/LoginTemporary/indexN.vue +35 -13
  67. package/src/components/Preview/index.vue +199 -0
  68. package/src/components/SelectDatePickerPro/customDatePicker.vue +7 -0
  69. package/src/components/SelectDatePickerPro/halfYearPicker.vue +165 -0
  70. package/src/components/SelectDatePickerPro/index.vue +44 -4
  71. package/src/components/SelectDatePickerPro/quarterDatePicker.vue +32 -10
  72. package/src/components/SelectTree/index.vue +10 -4
  73. package/src/components/SelectTree/pro.vue +3 -0
  74. package/src/components/ShowColumn/index copy 2.vue +545 -0
  75. package/src/components/ShowColumn/index copy.vue +566 -0
  76. package/src/components/ShowColumn/index.vue +11 -7
  77. package/src/components/Statis/statisItem.vue +8 -7
  78. package/src/components/Table/filters.js +13 -0
  79. package/src/components/Table/index.vue +4 -4
  80. package/src/components/TablePro/filterContent.vue +18 -8
  81. package/src/components/TablePro/index.js +41 -1
  82. package/src/components/TablePro/index.vue +117 -6
  83. package/src/components/TableProOperateColumn/OperateBtns.vue +11 -53
  84. package/src/components/TableProOperateColumn/OperateBtns_copy.vue +141 -0
  85. package/src/components/TableProOperateColumn/childrenOperateBtn.vue +108 -0
  86. package/src/components/TableProOperateColumn/index.vue +3 -6
  87. package/src/components/TableSetSize/index.vue +1 -1
  88. package/src/components/Tree/index.vue +21 -5
  89. package/src/components/Upload/index.vue +25 -10
  90. package/src/components/Upload/uploadMsg.vue +30 -25
  91. package/src/components/operatingStatus/index.vue +3 -4
  92. package/src/directives/VTitle/index.js +15 -5
  93. package/src/directives/watermark/index.js +140 -56
  94. package/src/i18n.json +146 -18
  95. package/src/index.js +31 -3
  96. package/src/plugins/Sign/CaMap.js +47 -8
  97. package/src/plugins/Sign/Itrus/index.js +1 -1
  98. package/src/plugins/Sign/Itrus/sign_3720.js +2 -1
  99. package/src/plugins/Sign/NetSM3/index.js +20 -11
  100. package/src/plugins/Sign/NetV3/index.js +163 -22
  101. package/src/plugins/Sign/SkfSign/index.js +55 -52
  102. package/src/plugins/Sign/bjca/index.js +229 -9
  103. package/src/plugins/Sign/hnca/index.js +5064 -0
  104. package/src/plugins/Sign/index.js +155 -103
  105. package/src/plugins/Sign/kySign/base64.js +160 -0
  106. package/src/plugins/Sign/kySign/hex.js +92 -0
  107. package/src/plugins/Sign/kySign/index.js +186 -0
  108. package/src/plugins/Sign/kySign/skf.js +937 -0
  109. package/src/plugins/Sign/kySign/test.html +463 -0
  110. package/src/plugins/Sign/sdca/index.js +73 -0
  111. package/src/plugins/Sign/sign.js +72 -52
  112. package/src/plugins/Sign/signV3/InfosecNetSignCNGAgent.min.js +1 -0
  113. package/src/plugins/Sign/signV3/sign.js +187 -0
  114. package/src/plugins/Sign/sign_back.js +172 -0
  115. package/src/utils/accountFormat.js +7 -0
  116. package/src/utils/asyncGetRelaNos.js +79 -46
  117. package/src/utils/axios.js +3 -5
  118. package/src/utils/i18n/index.js +1 -1
  119. package/src/utils/importGlobal.js +23 -12
  120. package/style/fonts/SIMSUN.5e0c362c.ttf +0 -0
  121. package/style/index.css +2 -2
  122. package/theme/blue.css +2 -2
  123. package/theme/cctcRed.css +2 -2
  124. package/theme/fonts/SIMSUN.5e0c362c.ttf +0 -0
  125. package/theme/green.css +2 -2
  126. package/theme/lightBlue.css +2 -2
  127. package/theme/orange.css +2 -2
  128. package/theme/purple.css +2 -2
  129. package/theme/red.css +2 -2
  130. package/theme/yellow.css +2 -2
@@ -8,6 +8,7 @@ const {
8
8
  IWSAAttachedVerify,
9
9
  IWSASendAvailable,
10
10
  IWSAGetAvailable,
11
+ IWSADetachedSign,
11
12
  IWSAGetAllCertsListInfoByCertDN
12
13
  } = new IWSAgent()
13
14
  IWSASetTimeOut(6000)
@@ -55,10 +56,14 @@ function checkAvailable(fn, url, count) {
55
56
  }
56
57
  }
57
58
 
58
- /* 签名解签 */
59
+ /**
60
+ * 签名解签函数
61
+ * @param {string} signedMsg 要解签的密文
62
+ * @returns {string} 解签后的明文
63
+ */
59
64
  export function verifySign(signedMsg) {
60
65
  let plainText
61
- IWSAAttachedVerify('1', signedMsg, (errorCode, PlainText, SigncertDN) => {
66
+ IWSAAttachedVerify('1', signedMsg, (errorCode, PlainText) => {
62
67
  if (errorCode === 0 || errorCode === '0') {
63
68
  plainText = PlainText
64
69
  } else {
@@ -68,50 +73,49 @@ export function verifySign(signedMsg) {
68
73
  return plainText
69
74
  }
70
75
 
71
- /* 给对象或字符串签名 */
76
+ /**
77
+ * 签名函数
78
+ * @param {string} plain 要签名的明文
79
+ * @param {string} dn 用户对应的Dn
80
+ * @returns {Promise<string>} 签名后的密文信息
81
+ */
72
82
  export async function getSign(plain, dn) {
73
83
  let index = await getCertInfo(dn)
74
- if (index === -1 || ['dnListEmpty', 'dnIsEmpty', 'Empty'].includes(index)) {
75
- switch (index) {
76
- case 'dnListEmpty':
77
- Message.warning('没有匹配到证书!')
78
- break
79
- case 'dnIsEmpty':
80
- Message.warning('DN参数为空!')
81
- break
82
- case 'Empty':
83
- Message.warning('当前Ukey不匹配!')
84
- break
85
- default:
86
- Message.warning('没有匹配到证书!')
87
- }
88
- return ''
89
- }
90
- let plainText = ''
91
- if (typeof plain === 'object') {
92
- plainText = JSON.stringify(plain)
93
- } else {
94
- plainText = plain
95
- }
84
+ if (index === -1) return
85
+ let plainText = typeof plain === 'object' ? JSON.stringify(plain) : plain
86
+
96
87
  return await performSign(plainText, index)
97
88
  }
98
89
 
99
90
  /**
100
91
  * 获取证书信息
101
- * @param dn
102
- * @returns {*|string|boolean}
92
+ * @param {string} dn 要验证的Dn
93
+ * @returns {Promise} - 解析后的证书信息
103
94
  */
104
95
  export function getCertInfo(dn) {
105
96
  if (dn === undefined) {
106
97
  dn = getDN()
107
98
  }
108
99
  if (!dn) {
109
- Message.error('签名参数DN错误!')
100
+ Message.error('没有获取到签名参数DN!')
110
101
  return false
111
102
  }
112
103
  return new Promise((resolve, reject) => {
113
104
  let certInfo
114
105
  IWSAGetAllCertsListInfoByCertDN('', 'Sign', parseCA(dn), 0, (dnList) => {
106
+ if (!dn) {
107
+ Message.error('没有获取到签名参数DN!')
108
+ reject()
109
+ }
110
+ if (!dnList) {
111
+ Message.error('没有获取到证书列表!')
112
+ reject()
113
+ }
114
+ if (dnList.length === 0) {
115
+ Message.error('获取到的证书列表为空!')
116
+ reject()
117
+ }
118
+
115
119
  certInfo = verifyDn(dnList, dn)
116
120
  resolve(certInfo)
117
121
  })
@@ -119,54 +123,70 @@ export function getCertInfo(dn) {
119
123
  }
120
124
 
121
125
  /**
122
- * 执行签名
123
- * @param plain
124
- * @param index
125
- * @returns {*|string}
126
+ * 执行签名函数
127
+ * @param {string} plain 要签名的明文
128
+ * @param index 签名的证书索引
129
+ * @returns {Promise<string>} 签名后的密文信息
126
130
  */
127
131
  export async function performSign(plain, index) {
132
+ let signMethod = IWSAAttachedSign
133
+ if (window.NetSignMethod === 'Detached') {
134
+ signMethod = IWSADetachedSign
135
+ }
128
136
  return new Promise((resolve, reject) => {
129
- let answer
130
- IWSAAttachedSign('1', plain, index, 'SHA1', (errorCode, signedData) => {
137
+ signMethod('1', plain, index, 'SHA1', (errorCode, signedData) => {
131
138
  if (errorCode === 0 || errorCode === '0') {
132
139
  resolve(signedData)
133
140
  } else {
134
141
  Message.error('签名失败!')
135
- reject()
142
+ reject(errorCode)
136
143
  }
137
144
  })
138
145
  })
139
146
  }
140
-
147
+ /**
148
+ * 从Dn中获取CN
149
+ * @param {string} dn 要解析的Dn
150
+ * @returns {string} 解析后的CN
151
+ */
141
152
  function parseCA(dn) {
142
153
  const mark = /^CN=/
143
- let cn = ''
144
- if (dn == null) return cn
145
-
146
- let booked = dn.split(',')
147
- let dnC = booked.find((b) => mark.test(b))
148
- dnC && (cn = dnC.replace(mark, ''))
149
- return cn
154
+ let CN = dn.split(',').find((b) => mark.test(b))
155
+ return CN ? CN.replace(mark, '') : ''
150
156
  }
151
157
 
158
+ /**
159
+ * 验证Dn是否存在于Dn列表中
160
+ * @param {Array} dnList 获取到的Dn列表
161
+ * @param {string} dn 要验证的Dn
162
+ * @returns {number} - 如果找到匹配的 DN,则返回其在 dnList 中的索引;如果未找到,则返回 -1
163
+ */
152
164
  function verifyDn(dnList, dn) {
153
- if (dnList.length === 0) return 'dnListEmpty'
154
- if (!dnList) return 'Empty'
155
- if (!dn) return 'dnIsEmpty'
156
-
157
165
  let userDnAttrsArr = dn.split(',').map((c) => c.trim())
158
166
 
159
- let isIn = false
160
- let index = 0
167
+ let index = -1
161
168
  dnList.find((C, i) => {
162
169
  let dnAttrsArr = C.certDN.split(',').map((c) => c.trim())
163
170
  if (dnAttrsArr.every((dnAttr) => userDnAttrsArr.includes(dnAttr))) {
164
171
  index = i
165
- return (isIn = true)
172
+ return true
166
173
  }
167
174
  })
168
- if (!isIn) {
169
- index = -1
175
+ if (index === -1) {
176
+ let dnList = dnList?.map((res) => res.certDN)?.join(',')
177
+ Message.error(`证书Dn不匹配:${dnList}里面无法匹配===>${dn}`)
178
+ return index
179
+ }
180
+ if (index !== -1) {
181
+ // GMT时间字符串
182
+ const gmtTimeString = dnList[index].validEnd?.replace(/GMT$/, ' GMT')
183
+ // 创建Date对象
184
+ if (gmtTimeString) {
185
+ const gmtTime = new Date(gmtTimeString)
186
+ // 转换为CST(中国标准时间)
187
+ const cstTime = gmtTime.toLocaleString('zh-CN', { timeZone: 'Asia/Shanghai' })
188
+ sessionStorage.setItem('certValidEnd', cstTime)
189
+ }
170
190
  }
171
191
  return index
172
192
  }
@@ -0,0 +1 @@
1
+ var SendToIp = "https://127.0.0.1:"; var PortList = [63451, 63455, 63460, 52100, 52110, 52150, 43110, 45130, 47101]; var m_StorePort = 0; var m_SetTimeOut = 6e4; var m_SM2IssuerCert = ""; var m_Async = true; var m_ListForm = []; var m_ListFile = []; var m_ListFormResponsed = []; var m_ListFileNameResponsed = []; var m_PlanTextConvertMode = "\r\n"; var m_CspName = ""; var SkfDeviceType = -1; var SkfUseDeviceNameAry = ["&Provider=", "&DevSN2Name=", "&bDevSN="]; var SkfUseDeviceInfoAry = ["", "", ""]; var SkfSetDeviceNameAry = ["&Provider=", "&Device=", "&Application="]; var SkfSetDeviceInfoAry = ["", "", ""]; var numCount = 1; function XDRInfosec(n) { if (!window.XDomainRequest) { return } var i = null; var e = ""; var o = (n.dataType || "").toLowerCase(); i = new XDomainRequest; if (/^\d+$/.test(n.timeout)) { i.timeout = n.timeout } i.ontimeout = function () { n.error(500, "timeout") }; i.onload = function () { var e = "Content-Length: " + i.responseText.length + "\r\nContent-Type: " + i.contentType; var t = { code: 200, message: "success" }; var r = { text: i.responseText }; try { if (o === "html" || /text\/html/i.test(i.contentType)) { r.html = i.responseText } else if (o === "json" || o !== "text" && /\/json/i.test(i.contentType)) { try { r.json = InfosecStr2json(i.responseText) } catch (e) { t.code = 500; t.message = "parseerror" } } else if (o === "xml" || o !== "text" && /\/xml/i.test(i.contentType)) { var a = new ActiveXObject("Microsoft.XMLDOM"); a.async = false; try { a.loadXML(i.responseText) } catch (e) { a = undefined } if (!a || !a.documentElement || a.getElementsByTagName("parsererror").length) { t.code = 500; t.message = "parseerror"; throw "Invalid XML: " + i.responseText } r.xml = a } } catch (e) { throw e } finally { if (t.code == 200 && t.message == "success") { result = InfosecStr2json(i.responseText); n.success(result) } else { n.error(t.code, "error", r) } } }; i.onprogress = function () { }; i.onerror = function () { n.error(500, "error", { text: i.responseText }) }; if (n.data) { e = n.data } i.open(n.method, n.url); i.send(e) } function ajaxInfosec(e) { if (window.XDomainRequest) { XDRInfosec(e); return } var t = { method: "GET", dataType: "json", url: "", data: "", async: true, cache: true, contentType: "application/x-www-form-urlencoded", success: function () { }, error: function () { }, custom: function () { }, complete: function () { } }; for (var r in e) { t[r] = e[r] } if (typeof t.data === "object") { var a = ""; var n = ""; for (var r in t.data) { n = t.data[r]; if (t.data[r].indexOf("&") !== -1) n = t.data[r].replace(/&/g, escape("&")); if (r.indexOf("&") !== -1) r = r.replace(/&/g, escape("&")); a += r + "=" + n + "&" } t.data = a.substring(0, a.length - 1) } t.method = t.method.toUpperCase(); t.cache = t.cache ? "" : "&" + (new Date).getTime(); if (t.method === "GET" && (t.data || t.cache)) t.url += "?" + t.data + t.cache; var i = window.XMLHttpRequest ? new XMLHttpRequest : new ActiveXObject("Microsoft.XMLHTTP"); i.open(t.method, t.url, t.async); i.setRequestHeader("Accept", "application/json, text/javascript, */*; q=0.01"); if (t.method === "GET") i.send(null); else { i.setRequestHeader("Content-type", t.contentType); i.send(t.data) } if (!t.async) { if (i.readyState === 4) { if (i.status === 200) { var o; if (t.dataType === "json") { o = InfosecStr2json(i.responseText) } else { o = i.responseText } t.success.call(i, o) } else { t.error.call(i, i.responseText) } } } else { i.onreadystatechange = function () { if (i.readyState === 4) { if (i.status === 200) { var e; if (t.dataType === "json") { e = InfosecStr2json(i.responseText) } else { e = i.responseText } t.success.call(i, e) } else { t.error() } } } } } function GetPlanTextForConvertMode(e) { var t = e; if (m_PlanTextConvertMode == "\r\n") { var r = t.search("\n"); var a = t.search("\r"); if (r - a != 1 && (r >= 1 && a == -1)) { t = t.replace(/\n/g, "\r\n") } return t } if (m_PlanTextConvertMode == "\n") { var r = t.search("\n"); var a = t.search("\r"); if (r - a == 1 && (r >= 1 && a > -1)) { t = t.replace(/\r\n/g, "\n") } return t } return t } function BASE64URLEN(e) { if (e == undefined) { return "" } var t = e; t = t.replace(/\+/g, "-"); t = t.replace(/\//g, "_"); return t } function BASE64URLDE(e) { if (e == undefined) { return "" } var t = e; t = t.replace(/-/g, "+"); t = t.replace(/_/g, "/"); return t } function JointSendData(e, t) { var r = ""; if (t.length != e.length || t.length < 0) { return r } for (var a = 0; a < t.length; a++) { t[a] = encodeURIComponent(t[a]); t[a] = encodeURIComponent(t[a]); r = r + e[a]; r = r + t[a] } return r } function JsonPlantextSpecialCharProcess(e) { if (e == "" || e == undefined) { return "" } e = decodeURIComponent(e); e = decodeURIComponent(e); return e } function GetPortForIE() { try { var e = new ActiveXObject("InfosecIWSAComPort.InfosecComPortMain.1"); var t = e.GetPort(); if (t <= 0) { return 0 } m_StorePort = t; return t } catch (e) { return 0 } } function sendAjaxSniffingData(t) { numCount = numCount + 1; var e = SendToIp + t + "/PortRight" + "?randtmp=" + numCount; var a = 0; if (navigator.appName == "Microsoft Internet Explorer") { return GetPortForIE() } ajaxInfosec({ url: e, method: "GET", timeout: 100, data: "", async: false, dataType: "json", beforeSend: function () { }, complete: function (e, t) { }, error: function (e, t, r) { a = 0; return }, success: function (e) { if (e[0].errorCode == 0) { a = t; return } else { a = 0; return } } }); return a } function sendAjaxSniffingDataAsync(t) { numCount = numCount + 1; var e = SendToIp + t + "/PortRight" + "?randtmp=" + numCount; ajaxInfosec({ url: e, method: "GET", timeout: 100, data: "", async: true, dataType: "json", beforeSend: function () { }, complete: function (e, t) { }, error: function (e, t, r) { }, success: function (e) { if (e[0].errorCode == 0) { m_StorePort = t; return } } }) } function PortIsRight() { for (var e = 0; e < PortList.length; e++) { if (m_StorePort == PortList[e]) { return true } } return false } function GetRightPORT() { var e = 0; m_StorePort = 0; for (var t = 0; t < PortList.length; t++) { var r = sendAjaxSniffingData(PortList[t]); if (r > 0) { e = r; m_StorePort = e; break } } return e } function AddFormListFromResponse(e) { if (e == "" || e == undefined) { return } e = JsonPlantextSpecialCharProcess(e); var t = InfosecStr2json(e); if (t.length < 0) { return } for (var r = 0; r < t.length; r++) { t[r].FormValue = JsonPlantextSpecialCharProcess(t[r].FormValue); m_ListFormResponsed.push(t[r].FormValue) } return } function AddFileNameListFileNameResponse(e) { if (e == "" || e == undefined) { return } e = JsonPlantextSpecialCharProcess(e); var t = InfosecStr2json(e); if (t.length < 0) { return } for (var r = 0; r < t.length; r++) { t[r].FileNameValue = JsonPlantextSpecialCharProcess(t[r].FileNameValue); m_ListFileNameResponsed.push(t[r].FileNameValue) } return } function GetStringAryMagic() { var e = new Array; for (var t = 0; t < arguments.length; t++) { e[t] = arguments[t] } return e } function SendDataSucceedProcess(e, t, r) { if (e == "GetVersion") { if (r != undefined) { r(t[0].Version); return } return t[0].Version } else if (e == "NSBase64Encode") { var a = t[0].errorCode; var n = t[0].TextData; n = BASE64URLDE(n); if (r != undefined) { r(a, n); return } return GetStringAryMagic(a, n) } else if (e == "NSBase64Decode") { var n = t[0].TextData; n = JsonPlantextSpecialCharProcess(n); if (r != undefined) { r(t[0].errorCode, n); return } return GetStringAryMagic(t[0].errorCode, n) } else if (e == "NSHashAndBase64Encode") { var n = t[0].TextData; n = BASE64URLDE(n); if (r != undefined) { r(t[0].errorCode, n); return } return GetStringAryMagic(t[0].errorCode, n) } else if (e == "NSDetachedSign" || e == "NSDetachedSignDefaultDN" || e == "NSSignHash" || e == "NSSKFSM2SignHash") { var i = t[0].signedData; i = BASE64URLDE(i); if (r != undefined) { r(t[0].errorCode, i); return } return GetStringAryMagic(t[0].errorCode, i) } else if (e == "NSDetachedVerify" || e == "NSVerifyHash" || e == "NSSKFSM2VerifyHash") { if (r != undefined) { r(t[0].errorCode); return } return t[0].errorCode } else if (e == "NSBigFileDetachedSign" || e == "NSBigFileDetachedSignDefaultDN" || e == "NSSKFBigFileDetachedSign") { var i = t[0].signedData; i = BASE64URLDE(i); if (r != undefined) { r(t[0].errorCode, i); return } return GetStringAryMagic(t[0].errorCode, i) } else if (e == "NSBigFileHash") { var o = t[0].hashData; o = BASE64URLDE(o); if (r != undefined) { r(t[0].errorCode, o); return } return GetStringAryMagic(t[0].errorCode, o) } else if (e == "NSBigFileDetachedVerify") { if (r != undefined) { r(t[0].errorCode); return } return t[0].errorCode } else if (e == "NSSkfGetCertsListInfo") { var S = 0; for (S = 0; S < t.length; S++) { t[S].certDN = JsonPlantextSpecialCharProcess(t[S].certDN); t[S].issuerDN = JsonPlantextSpecialCharProcess(t[S].issuerDN); t[S].certSN = JsonPlantextSpecialCharProcess(t[S].certSN); t[S].validBegin = JsonPlantextSpecialCharProcess(t[S].validBegin); t[S].validEnd = JsonPlantextSpecialCharProcess(t[S].validEnd); t[S].CertStore = JsonPlantextSpecialCharProcess(t[S].CertStore); t[S].KeyUsage = JsonPlantextSpecialCharProcess(t[S].KeyUsage); t[S].CertType = JsonPlantextSpecialCharProcess(t[S].CertType) } return ReturnOnlyOneParameter(t, r) } else if (e == "NSSkfGetFileNameList") { var S = 0; for (S = 0; S < t.length; S++) { t[S].FileName = JsonPlantextSpecialCharProcess(t[S].FileName) } return ReturnOnlyOneParameter(t, r) } else if (e == "NSSkfGetFileInfoForIndex") { t[0].FileName = JsonPlantextSpecialCharProcess(t[0].FileName); if (r != undefined) { r(t[0].errorCode, t[0].FileName, t[0].Filedata); return } return GetStringAryMagic(t[0].errorCode, t[0].FileName, t[0].Filedata); var S = 0; for (S = 0; S < t.length; S++) { t[S].FileName = JsonPlantextSpecialCharProcess(t[S].FileName) } return ReturnOnlyOneParameter(t, r) } else if (e == "NSSkfAttachedSign") { var i = t[0].signedData; i = BASE64URLDE(i); if (r != undefined) { r(t[0].errorCode, i); return } return GetStringAryMagic(t[0].errorCode, i) } else if (e == "NSSkfAttachedSign" || e == "NSSkfDetachedSign" || e == "NSSkfRawSign") { var i = t[0].signedData; i = BASE64URLDE(i); if (r != undefined) { r(t[0].errorCode, i); return } return GetStringAryMagic(t[0].errorCode, i) } else if (e == "NSSkfAttachedVerify") { t[0].PlainText = JsonPlantextSpecialCharProcess(t[0].PlainText); t[0].Cert = JsonPlantextSpecialCharProcess(t[0].Cert); t[0].Cert = BASE64URLDE(t[0].Cert); t[0].certDN = JsonPlantextSpecialCharProcess(t[0].certDN); t[0].issuerDN = JsonPlantextSpecialCharProcess(t[0].issuerDN); t[0].certSN = JsonPlantextSpecialCharProcess(t[0].certSN); t[0].validBegin = JsonPlantextSpecialCharProcess(t[0].validBegin); t[0].validEnd = JsonPlantextSpecialCharProcess(t[0].validEnd); var s = t[0].certDN + " " + t[0].issuerDN + " " + t[0].certSN + " " + t[0].validBegin + " " + t[0].validEnd; if (r != undefined) { r(t[0].errorCode, t[0].PlainText, s, t[0].Cert); return } return GetStringAryMagic(t[0].errorCode, t[0].PlainText, t[0].CertInfo, t[0].Cert) } else if (e == "NSSkfDetachedVerify" || e == "NSSkfRawVerify") { t[0].Cert = JsonPlantextSpecialCharProcess(t[0].Cert); t[0].Cert = BASE64URLDE(t[0].Cert); t[0].certDN = JsonPlantextSpecialCharProcess(t[0].certDN); t[0].issuerDN = JsonPlantextSpecialCharProcess(t[0].issuerDN); t[0].certSN = JsonPlantextSpecialCharProcess(t[0].certSN); t[0].validBegin = JsonPlantextSpecialCharProcess(t[0].validBegin); t[0].validEnd = JsonPlantextSpecialCharProcess(t[0].validEnd); var s = t[0].certDN + " " + t[0].issuerDN + " " + t[0].certSN + " " + t[0].validBegin + " " + t[0].validEnd; if (r != undefined) { r(t[0].errorCode, s, t[0].Cert); return } return GetStringAryMagic(t[0].errorCode, s, t[0].Cert) } else if (e == "NSSkfEncryptedSignEnvelop" || e == "NSSkfEncryptedEnvelop") { var c = JsonPlantextSpecialCharProcess(t[0].Data); c = BASE64URLDE(c); if (r != undefined) { r(t[0].errorCode, c); return } return GetStringAryMagic(t[0].errorCode, c) } else if (e == "NSAttachedSign" || e == "NSAttachedSignDefaultDN" || e == "NSFormFileSign" || e == "NSFormFileSignDefaultDN") { var i = t[0].signedData; i = BASE64URLDE(i); if (r != undefined) { r(t[0].errorCode, i); return } return GetStringAryMagic(t[0].errorCode, i) } else if (e == "NSAttachedVerify") { t[0].PlainText = JsonPlantextSpecialCharProcess(t[0].PlainText); t[0].SigncertDN = JsonPlantextSpecialCharProcess(t[0].SigncertDN); if (r != undefined) { r(t[0].errorCode, t[0].PlainText, t[0].SigncertDN); return } return GetStringAryMagic(t[0].errorCode, t[0].PlainText, t[0].SigncertDN) } else if (e == "NSFormFileVerify") { t[0].SigncertDN = JsonPlantextSpecialCharProcess(t[0].SigncertDN); AddFormListFromResponse(t[0].FormTotal); AddFileNameListFileNameResponse(t[0].FileNameTotal); if (r != undefined) { r(t[0].errorCode, t[0].SigncertDN); return } return GetStringAryMagic(t[0].errorCode, t[0].SigncertDN) } else if (e == "NSFormFileGetFile" || e == "NSRawVerify" || e == "NSRawVerifyDefaultDN" || e == "NSSm2SkfInitKeyApplicationFT" || e == "NSSKFEnvelopeP7symmDer") { if (r != undefined) { r(t[0].errorCode); return } return t[0].errorCode } else if (e == "NSRawSign" || e == "NSRawSignDefaultDN") { var i = t[0].signedData; i = BASE64URLDE(i); if (r != undefined) { r(t[0].errorCode, i); return } return GetStringAryMagic(t[0].errorCode, i) } else if (e == "NSEncryptedEnvelop" || e == "NSEncryptedEnvelopDefaultDN" || e == "NSFormFileEncryptedEnvelop" || e == "NSFormFileEncryptedEnvelopDefaultDN") { var d = t[0].envelopedMsg; d = BASE64URLDE(d); if (r != undefined) { r(t[0].errorCode, d); return } return GetStringAryMagic(t[0].errorCode, d) } else if (e == "NSDecryptEnvelop") { t[0].PlainText = JsonPlantextSpecialCharProcess(t[0].PlainText); t[0].EncryptcertDN = JsonPlantextSpecialCharProcess(t[0].EncryptcertDN); if (r != undefined) { r(t[0].errorCode, t[0].PlainText, t[0].EncryptcertDN); return } return GetStringAryMagic(t[0].errorCode, t[0].PlainText, t[0].EncryptcertDN) } else if (e == "NSFormFileDecryptedEnvelop") { t[0].EncryptcertDN = JsonPlantextSpecialCharProcess(t[0].EncryptcertDN); AddFormListFromResponse(t[0].FormTotal); AddFileNameListFileNameResponse(t[0].FileNameTotal); if (r != undefined) { r(t[0].errorCode, t[0].EncryptcertDN); return } return GetStringAryMagic(t[0].errorCode, t[0].EncryptcertDN) } else if (e == "NSEncryptedSignEnvelop" || e == "NSEncryptedSignEnvelopDefaultDN" || e == "NSFormFileEncryptedSignEnvelop" || e == "NSFormFileEncryptedSignEnvelopDefaultDN") { var d = t[0].envelopedMsg; d = BASE64URLDE(d); if (r != undefined) { r(t[0].errorCode, d); return } return GetStringAryMagic(t[0].errorCode, d) } else if (e == "NSDecryptSignEnvelop") { t[0].PlainText = JsonPlantextSpecialCharProcess(t[0].PlainText); t[0].SigncertDN = JsonPlantextSpecialCharProcess(t[0].SigncertDN); t[0].EncryptcertDN = JsonPlantextSpecialCharProcess(t[0].EncryptcertDN); if (r != undefined) { r(t[0].errorCode, t[0].PlainText, t[0].SigncertDN, t[0].EncryptcertDN); return } return GetStringAryMagic(t[0].errorCode, t[0].PlainText, t[0].SigncertDN, t[0].EncryptcertDN) } else if (e == "NSFormFileDecryptedSignEnvelop") { t[0].SigncertDN = JsonPlantextSpecialCharProcess(t[0].SigncertDN); t[0].EncryptcertDN = JsonPlantextSpecialCharProcess(t[0].EncryptcertDN); AddFormListFromResponse(t[0].FormTotal); AddFileNameListFileNameResponse(t[0].FileNameTotal); if (r != undefined) { r(t[0].errorCode, t[0].SigncertDN, t[0].EncryptcertDN); return } return GetStringAryMagic(t[0].errorCode, t[0].SigncertDN, t[0].EncryptcertDN) } else if (e == "NSSetCertsListInfoCache") { if (r != undefined) { r(t[0].errorCode); return } return t[0].errorCode } else if (e == "NSGetCertInfoForIndex" || e == "NSSkfGetCertInfoForIndex") { if (r != undefined) { r(t[0].CertInfoData); return } return t[0].CertInfoData } else if (e == "NSGetCertPublicKeyInfoForIndex" || e == "NSSkfGetCertPublicKeyInfoForIndex") { if (r != undefined) { r(t[0].CertPublicKeyInfoData); return } return t[0].CertPublicKeyInfoData } else if (e == "NSGetCertsListInfo") { var S = 0; for (S = 0; S < t.length; S++) { t[S].certDN = JsonPlantextSpecialCharProcess(t[S].certDN); t[S].issuerDN = JsonPlantextSpecialCharProcess(t[S].issuerDN); t[S].certSN = JsonPlantextSpecialCharProcess(t[S].certSN); t[S].validBegin = JsonPlantextSpecialCharProcess(t[S].validBegin); t[S].validEnd = JsonPlantextSpecialCharProcess(t[S].validEnd); t[S].CertStore = JsonPlantextSpecialCharProcess(t[S].CertStore); t[S].KeyUsage = JsonPlantextSpecialCharProcess(t[S].KeyUsage); t[S].CertType = JsonPlantextSpecialCharProcess(t[S].CertType) } return ReturnOnlyOneParameter(t, r) } else if (e == "NSGetEVersion") { return ReturnOnlyOneParameter(t[0].Version, r) } else if (e == "NSGetRsaCspListProvider" || e == "NSSm2CfcaGetProviderList") { if (r != undefined) { r(t); return } return t } else if (e == "NSSm2SkfGetDeviceList") { for (var S = 0; S < t.length; S++) { t[S].Device = JsonPlantextSpecialCharProcess(t[S].Device) } if (r != undefined) { r(t); return } return t } else if (e == "NSSm2SkfGetProviderList") { for (var S = 0; S < t.length; S++) { t[S].Provider = JsonPlantextSpecialCharProcess(t[S].Provider) } if (r != undefined) { r(t); return } return t } else if (e == "NSSm2SkfGetApplicationList") { for (var S = 0; S < t.length; S++) { t[S].Application = JsonPlantextSpecialCharProcess(t[S].Application) } if (r != undefined) { r(t); return } return t } else if (e == "NSSm2SkfGetContainerList") { for (var S = 0; S < t.length; S++) { t[S].Container = JsonPlantextSpecialCharProcess(t[S].Container) } if (r != undefined) { r(t); return } return t } else if (e == "NSGetRsaCspCountOfCert" || e == "NSSm2CfcaGetCountOfCert" || e == "NSSm2SkfGetCountOfCert") { if (r != undefined) { r(t[0].CertCount); return } return t[0].CertCount } else if (e == "NSGetRsaCspCertInfo" || e == "NSSm2CfcaGetCertInfo") { t[0].Provider = JsonPlantextSpecialCharProcess(t[0].Provider); t[0].Container = JsonPlantextSpecialCharProcess(t[0].Container); t[0].DN = JsonPlantextSpecialCharProcess(t[0].DN); t[0].Issuer = JsonPlantextSpecialCharProcess(t[0].Issuer); t[0].StartDate = JsonPlantextSpecialCharProcess(t[0].StartDate); t[0].EndDate = JsonPlantextSpecialCharProcess(t[0].EndDate); t[0].CertSN = JsonPlantextSpecialCharProcess(t[0].CertSN); t[0].CertPurpose = JsonPlantextSpecialCharProcess(t[0].CertPurpose); if (r != undefined) { r(t[0].errorCode, t[0].Provider, t[0].Container, t[0].DN, t[0].Issuer, t[0].StartDate, t[0].EndDate, t[0].CertSN, t[0].CertPurpose); return } return GetStringAryMagic(t[0].errorCode, t[0].Provider, t[0].Container, t[0].DN, t[0].Issuer, t[0].StartDate, t[0].EndDate, t[0].CertSN, t[0].CertPurpose) } else if (e == "NSSm2SkfGetCertInfo") { t[0].Provider = JsonPlantextSpecialCharProcess(t[0].Provider); t[0].Device = JsonPlantextSpecialCharProcess(t[0].Device); t[0].DeviceSN = JsonPlantextSpecialCharProcess(t[0].DeviceSN); t[0].application = JsonPlantextSpecialCharProcess(t[0].application); t[0].Container = JsonPlantextSpecialCharProcess(t[0].Container); t[0].DN = JsonPlantextSpecialCharProcess(t[0].DN); t[0].Issuer = JsonPlantextSpecialCharProcess(t[0].Issuer); t[0].StartDate = JsonPlantextSpecialCharProcess(t[0].StartDate); t[0].EndDate = JsonPlantextSpecialCharProcess(t[0].EndDate); t[0].CertSN = JsonPlantextSpecialCharProcess(t[0].CertSN); t[0].CertPurpose = JsonPlantextSpecialCharProcess(t[0].CertPurpose); if (r != undefined) { r(t[0].errorCode, t[0].Provider, t[0].Device, t[0].DeviceSN, t[0].application, t[0].Container, t[0].DN, t[0].Issuer, t[0].StartDate, t[0].EndDate, t[0].CertSN, t[0].CertPurpose); return } return GetStringAryMagic(t[0].errorCode, t[0].Provider, t[0].Device, t[0].DeviceSN, t[0].application, t[0].Container, t[0].DN, t[0].Issuer, t[0].StartDate, t[0].EndDate, t[0].CertSN, t[0].CertPurpose) } else if (e == "NSAdvRsaCspGenContainerP10") { if (r != undefined) { r(t[0].errorCode, t[0].P10Value, t[0].EncKeyPair); return } return GetStringAryMagic(t[0].errorCode, t[0].P10Value, t[0].EncKeyPair) } else if (e == "NSRsaCspImportSignEncP7Cert" || e == "NSRsaCspImportSignEncX509Cert" || e == "NSRsaCspDelContainer" || e == "NSRsaCspCreateContainer" || e == "NSRsaCspDeleteContainer" || e == "NSRsaCspVerifySignData" || e == "NSSm2SkfVerifySignData" || e == "NSRsaCspImportEncP7Cert" || e == "NSRsaCspImportSignP7Cert" || e == "NSRsaCspImportEncX509Cert" || e == "NSRsaCspImportSignX509Cert" || e == "NSRsaCspImportX509CertToStore" || e == "NSRsaCspDelX509CertInStore" || e == "NSRsaCspDelEncKeyPair" || e == "NSSm2CfcaCreateContainer" || e == "NSSm2CfcaDelContainer" || e == "NSSm2CfcaDeleteContainer" || e == "NSSm2CfcaImportSignX509Cert" || e == "NSSm2CfcaImportEncX509Cert" || e == "NSSm2SkfImportSignX509Cert" || e == "NSSm2SkfImportEncX509Cert" || e == "NSSm2SkfWriteData" || e == "NSSm2SkfDelContainer" || e == "NSSm2SkfCreateContainer" || e == "NSSm2SkfDeleteContainer" || e == "NSSm2SkfVerifyPin" || e == "NSSm2SkfVerifyPinOfCtrl" || e == "NSSetCertEnrollShowErrMsg" || e == "NSSm2CfcaImportSignEncX509Cert" || e == "NSSm2SkfImportSignEncX509Cert" || e == "NSSm2SkfImportEncSM2EnvelopedKey" || e == "NSSm2SkfUseDevice" || e == "NSSm2SkfSetDevice" || e == "NSSetCertEnrollConnectType" || e == "NSSm2SkfImportSignX509CertRSA" || e == "NSSetRawSignIsAsn1") { if (r != undefined) { r(t[0].errorCode); return } return t[0].errorCode } else if (e == "NSRsaCspGenContainer" || e == "NSSm2CfcaGenContainer" || e == "NSSm2SkfGenContainer") { if (r != undefined) { r(t[0].errorCode, t[0].Container); return } return GetStringAryMagic(t[0].errorCode, t[0].Container) } else if (e == "NSRsaCspSignData" || e == "NSRsaCspEncryptData" || e == "NSRsaCspDecryptData" || e == "NSRsaCspExportContainerPfxCert" || e == "NSRsaCspExportPfxCert" || e == "NSRsaCspExportSignX509Cert" || e == "NSRsaCspExportEncX509Cert" || e == "NSRsaCspGenEncKeyPair" || e == "NSRsaCspGenP10" || e == "NSGenSecureAuthCode" || e == "NSGetX509FromP7Cert" || e == "NSSm2CfcaSignData" || e == "NSSm2SkfSignData" || e == "NSSm2SkfEncryptData" || e == "NSSm2SkfDecryptData" || e == "NSSm2SkfExportSignX509Cert" || e == "NSSm2SkfExportEncX509Cert" || e == "NSSm2SkfGenP10" || e == "NSSm2SkfGetEnveloped" || e == "NSSm2SkfCheckDefaultPIN" || e == "NSSm2SkfChangePin") { if (r != undefined) { r(t[0].errorCode, t[0].Data); return } return GetStringAryMagic(t[0].errorCode, t[0].Data) } else if (e == "NSSm2SkfReadData") { t[0].Data = JsonPlantextSpecialCharProcess(t[0].Data); if (r != undefined) { r(t[0].errorCode, t[0].Data); return } return GetStringAryMagic(t[0].errorCode, t[0].Data) } else if (e == "NSRsaCspGenContainerP10" || e == "NSSm2SkfGenContainerP10" || e == "NSSm2SkfGenContainerECCKeyPair" || e == "NSSm2SkfGenContainerP10RSA") { if (r != undefined) { r(t[0].errorCode, t[0].Container, t[0].P10); return } return GetStringAryMagic(t[0].errorCode, t[0].Container, t[0].P10) } else if (e == "NSGetRsaCertStore" || e == "NSGetSm2CFCACertStore") { return ReturnOnlyOneParameter(t[0].CertStore, r) } else if (e == "NSGetDistinctNameKeyValuePairNumber") { return ReturnOnlyOneParameter(t[0].Count, r) } else if (e == "NSGetDistinctNameKeyValuePair") { t[0].Key = JsonPlantextSpecialCharProcess(t[0].Key); t[0].Value = JsonPlantextSpecialCharProcess(t[0].Value); if (r != undefined) { r(t[0].errorCode, t[0].Key, t[0].Value); return } return GetStringAryMagic(t[0].errorCode, t[0].Key, t[0].Value) } else if (e == "NSCompareCertTime") { return ReturnOnlyOneParameter(t[0].RetResult, r) } else if (e == "NSGetX509CertInfo") { t[0].DN = JsonPlantextSpecialCharProcess(t[0].DN); t[0].Issuer = JsonPlantextSpecialCharProcess(t[0].Issuer); t[0].StartDate = JsonPlantextSpecialCharProcess(t[0].StartDate); t[0].EndDate = JsonPlantextSpecialCharProcess(t[0].EndDate); t[0].CertSN = JsonPlantextSpecialCharProcess(t[0].CertSN); t[0].CertPurpose = JsonPlantextSpecialCharProcess(t[0].CertPurpose); if (r != undefined) { r(t[0].errorCode, t[0].DN, t[0].Issuer, t[0].StartDate, t[0].EndDate, t[0].CertSN, t[0].CertPurpose); return } return GetStringAryMagic(t[0].errorCode, t[0].DN, t[0].Issuer, t[0].StartDate, t[0].EndDate, t[0].CertSN, t[0].CertPurpose) } else if (e == "NSSm2CfcaGenContainerP10Encpubkey") { if (r != undefined) { r(t[0].errorCode, t[0].Container, t[0].P10, t[0].Pubkey); return } return GetStringAryMagic(t[0].errorCode, t[0].Container, t[0].P10, t[0].Pubkey) } else if (e == "NSSm2CfcaGenP10Encpubkey") { if (r != undefined) { r(t[0].errorCode, t[0].P10, t[0].Pubkey); return } return GetStringAryMagic(t[0].errorCode, t[0].P10, t[0].Pubkey) } else if (e == "NSSm2SkfGetDeviceInfo") { if (r != undefined) { r(t[0].errorCode, t[0].SN, t[0].Lable); return } return GetStringAryMagic(t[0].errorCode, t[0].SN, t[0].Lable) } else if (e == "NSSm2SkfGetPinInfo") { if (r != undefined) { r(t[0].errorCode, t[0].MaxNum, t[0].NowSurplusNum); return } return GetStringAryMagic(t[0].errorCode, t[0].MaxNum, t[0].NowSurplusNum) } else if (e == "NSLoginExec" || e == "NSLoginExecParams" || e == "NSLoginStartAll" || e == "NSLoginStopAll" || e == "NSLoginStartMessageLoginInBack" || e == "NSLoginStopMessageLoginInBack" || e == "NSLoginStartMessageLogin" || e == "NSLoginStartTabLoginLoginInBack" || e == "NSLoginStopTabLoginInBack" || e == "NSLoginStartTabLoginLogin" || e == "NSLoginIsLoginFailed" || e == "NSLoginStartMessageMultiWindowLogin" || e == "NSLoginautoLoginHTTP" || e == "NSLoginStartLogin" || e == "NSLoginSetFailFormat" || e == "NSLoginStartMessageLoginHXPOC") { if (r != undefined) { r(t[0].errorCode); return } return t[0].errorCode } else if (e == "NSLoginEncrypt" || e == "NSLoginDecrypt") { if (r != undefined) { r(t[0].errorCode, t[0].Data); return } return GetStringAryMagic(t[0].errorCode, t[0].Data) } else if (e == "NSLoadExtendDLL" || e == "NSFreeExtendDLL" || e == "NSStdCallDLLFuncParameterZero" || e == "NSCallDLLFuncParameterZero" || e == "NSStdCallDLLFuncTwoParameter" || e == "NSCallDLLFuncTwoParameter" || e == "NSAddLicense") { if (r != undefined) { r(t[0].errorCode); return } return t[0].errorCode } else if (e == "NSStdCallDLLFuncParameterOutCPtrOne" || e == "NSCallDLLFuncParameterOutCPtrOne" || e == "NSStdCallDLLFuncTwoParameterOutCPtrOne" || e == "NSCallDLLFuncTwoParameterOutCPtrOne" || e == "NSStdCallDLLFuncFourParameterOutCPtrOne" || e == "NSCallDLLFuncFourParameterOutCPtrOne") { if (r != undefined) { r(t[0].errorCode, t[0].Data); return } return GetStringAryMagic(t[0].errorCode, t[0].Data) } else if (e == "NSCallDLLFunction") { t[0].Data = JsonPlantextSpecialCharProcess(t[0].Data); if (r != undefined) { r(t[0].errorCode, t[0].Data); return } return GetStringAryMagic(t[0].errorCode, t[0].Data) } else if (e == "NSGetLicenseTime") { if (r != undefined) { r(t[0].errorCode, t[0].EXPTIME); return } return GetStringAryMagic(t[0].errorCode, t[0].EXPTIME) } else if (e == "NSAddCookie" || e == "NSDelCookieForName") { if (r != undefined) { r(t[0].errorCode); return } return t[0].errorCode } else if (e == "NSGetCookieCount" || e == "NSGetCookieNameForIndex" || e == "NSGetCookieValueForIndex" || e == "NSGetCookieValueForName") { if (r != undefined) { r(t[0].Data); return } return t[0].Data } return } function ReturnOnlyOneParameter(e, t) { if (t != undefined) { t(e); return } return e } function RetrySendAjaxData(t, e, r, a) { numCount = numCount + 1; if (PortIsRight() == false) { GetRightPORT() } if (PortIsRight() == false) { return } var n = SendToIp + m_StorePort + "/" + t + "?randtmp=" + numCount; ajaxInfosec({ url: n, method: e, data: r, dataType: "json", beforeSend: function () { }, complete: function (e, t) { }, error: function (e, t, r) { }, success: function (e) { SendDataSucceedProcess(t, e, a) }, timeout: m_SetTimeOut }); return } function sendAjaxData(t, e, r, a) { numCount = numCount + 1; var n; if (PortIsRight() == false) { GetRightPORT() } if (PortIsRight() == false) { return n } var i = SendToIp + m_StorePort + "/" + t + "?randtmp=" + numCount; ajaxInfosec({ url: i, method: e, data: r, async: m_Async, dataType: "json", beforeSend: function () { }, complete: function (e, t) { }, error: function (e, t, r) { if (m_Async == true) { } }, success: function (e) { n = SendDataSucceedProcess(t, e, a) }, timeout: m_SetTimeOut }); return n } function GetDigestArithmeticByName(e) { if (e == "SM3") { return "1.2.156.10197.1.401" } if (e == "SHA1") { return "1.3.14.3.2.26" } if (e == "MD5") { return "1.2.840.113549.2.5" } if (e == "SHA256") { return "2.16.840.1.101.3.4.2.1" } if (e == "SHA384") { return "2.16.840.1.101.3.4.2.2" } if (e == "SHA512") { return "2.16.840.1.101.3.4.2.3" } return "" } function GetSymmetryArithmeticByName(e) { if (e == "RC4") { return "1.2.840.113549.3.4" } if (e == "3DES") { return "1.2.840.113549.3.7" } if (e == "RC2") { return "1.2.840.113549.3.2" } if (e == "DES") { return "1.3.14.3.2.7" } return "" } function InfosecGetCertStoreName(e, t) { var r = ""; if (t == "SignAndEncrypt") { r = "MY,ROOT,CA,AddressBook" } if (t == "Encrypt") { r = "ROOT,CA,AddressBook" } if (t == "Sign") { r = "MY" } if (e == "" || e == undefined) { return r } else { if (r != "") { e = e + ","; e = e + r } } return e } function PrefixInteger(e, t) { return (Array(t).join(0) + e).slice(-t) } function mbStringLength(e) { var t = 0; var r; var a; for (r = 0; r < e.length; r++) { a = e.charCodeAt(r); if (a < 127) { t = t + 1 } else if (128 <= a && a <= 2047) { t += 2 } else if (2048 <= a && a <= 65535) { t += 3 } else if (65536 <= a && a <= 2097151) { t += 4 } else if (2097152 <= a && a <= 67108863) { t += 5 } else if (67108864 <= a && a <= 2147483647) { t += 6 } } return t } function GetSendFormFilePlantText() { var e = ""; for (var t = 0; t < m_ListForm.length; t++) { e += "01"; var r = mbStringLength(m_ListForm[t]); e += PrefixInteger(r, 31); e += m_ListForm[t] } for (var t = 0; t < m_ListFile.length; t++) { e += "02"; var r = mbStringLength(m_ListFile[t]); e += PrefixInteger(r, 31); e += m_ListFile[t] } return e } function AttachedSignVerify(e, t, r, a) { r = BASE64URLEN(r); if (r == "") { } var n = ["PortGrade=", "&signedMsg="]; var i = [t, r]; if (t == 1) { n = ["PortGrade=", "&signedMsg="]; i = [t, r] } if (t == 2) { m_SM2IssuerCert = BASE64URLEN(m_SM2IssuerCert); n = ["PortGrade=", "&signedMsg=", "&SM2IssuerCert="]; i = [t, r, m_SM2IssuerCert] } var o = JointSendData(n, i); return sendAjaxData(e, "POST", o, a) } function DecryptEnvelop(e, t, r) { if (t == "") { } t = BASE64URLEN(t); var a = ["envelopedMsg="]; var n = [t]; var i = JointSendData(a, n); return sendAjaxData(e, "POST", i, r) } function DecryptSignEnvelop(e, t, r) { if (t == "") { } t = BASE64URLEN(t); var a = ["envelopedMsg="]; var n = [t]; var i = JointSendData(a, n); return sendAjaxData(e, "POST", i, r) } function clearResponsedList() { m_ListFormResponsed = []; m_ListFileNameResponsed = [] } function GetAllreadyDeviceName() { var e = ["SkfDeviceType=", "&Null=", "&Null=", "&Null="]; if (SkfDeviceType == 1) { e[1] = SkfUseDeviceNameAry[0]; e[2] = SkfUseDeviceNameAry[1]; e[3] = SkfUseDeviceNameAry[2] } if (SkfDeviceType == 2) { e[1] = SkfSetDeviceNameAry[0]; e[2] = SkfSetDeviceNameAry[1]; e[3] = SkfSetDeviceNameAry[2] } return e } function GetAllreadyDeviceInfo() { var e = ["", "", "", ""]; e[0] = SkfDeviceType; if (SkfDeviceType == 1) { e[1] = SkfUseDeviceInfoAry[0]; e[2] = SkfUseDeviceInfoAry[1]; e[3] = SkfUseDeviceInfoAry[2] } if (SkfDeviceType == 2) { e[1] = SkfSetDeviceInfoAry[0]; e[2] = SkfSetDeviceInfoAry[1]; e[3] = SkfSetDeviceInfoAry[2] } return e } function GetSkfTitleParameterAndAllreadyDevice() { var e = new Array; var t = GetAllreadyDeviceName(); for (var r = 0; r < t.length; r++) { e[r] = t[r] } var a = t.length; var n = ""; for (var i = 0; i < arguments.length; i++) { n = "&"; n = n + arguments[i]; n = n + "="; e[a + i] = n } return e } function GetSkfDataParameterAndAllreadyDevice() { var e = new Array; var t = GetAllreadyDeviceInfo(); for (var r = 0; r < t.length; r++) { e[r] = t[r] } var a = t.length; for (var n = 0; n < arguments.length; n++) { e[a + n] = arguments[n] } return e } function InfosecStr2json(r) { var t = /[\{\[\"ntf\d\.]/, a = 0, n = r.length; function i() { var e = u(t); if (!e) return; switch (e) { case "{": return o(); case "[": return S(); case "t": return s(); case "f": return c(); case "n": return d(); case '"': return f() }return l(e) } function o() { var e = new Object; while (a < n) { var t = u(/\S/); if (t == "}") break; if (t == ",") continue; var r = f(); u(/\:/); e[r] = i() } return e } function S() { var e = new Array; while (a < n) { var t = u(/\S/); if (t == "]") break; if (t == ",") continue; a--; e.push(i()) } return e } function s() { a += 3; return true } function c() { a += 4; return false } function d() { a += 3; return null } function f() { var e = new Array; while (a < n) { var t = r.charAt(a++); if (t == '"') break; if (t == "\\") t = v(r.charAt(a++)); e.push(t) } return e.join("") } function l(e) { while (a < n) { var t = r.charAt(a++); if (!/[\d\.]/.test(t)) break; e += t } a--; return e - 0 } function u(e) { while (a < n) { var t = r.charAt(a++); if (e.test(t)) return t } return "" } var D = { t: "\t", n: "\n", r: "\r", b: "\b", f: "\f", v: "\v" }; function v(e) { switch (e) { case "x": return unescape("%" + r.slice(a, a += 2)); case "u": return unescape("%u" + r.slice(a, a += 4)) }return e in D ? D[e] : e } return i() } function tojson(r) { switch (typeof r) { case "string": return e(); case "number": return t(); case "object": return n(r); case "boolean": return a(); case "date": return o(); case "function": return r; case "undefined": return '"undefined"'; default: return "unknown" }function e() { return '"' + r.replace(/[\"\\]/g, function (e) { return "\\" + e }).replace(/\r/g, "\\r").replace(/\n/g, "\\n") + '"' } function t() { return r } function a() { return r ? "true" : "false" } function n() { if (!r) return "null"; if (r instanceof Array) return i(); var e = new Array; for (var t in r) e.push(tojson(t + "") + ":" + tojson(r[t])); return "{" + e.join(",") + "}" } function i() { var e = new Array; for (var t = 0; t < r.length; t++)e.push(tojson(r[t])); return "[" + e.join(",") + "]" } function o() { var e = new Date(r - 0); var t = e.getFullYear() + "-"; t += S(e.getMonth() + 1) + "-"; t += S(e.getDate()) + " "; t += S(e.getHours()) + ":"; t += S(e.getMinutes()) + ":"; t += S(e.getSeconds()); return '"' + t + '"' } function S(e) { return e < 10 ? "0" + e : e } } export function IWSAgent() { var e = new Object; e.IWSASendAvailable = function () { m_StorePort = 0; if (navigator.appName == "Microsoft Internet Explorer") { return GetPortForIE() } for (var e = 0; e < PortList.length; e++) { sendAjaxSniffingDataAsync(PortList[e]) } }; e.IWSAGetAvailable = function () { return PortIsRight() }; e.IWSAAvailable = function () { for (var e = 0; e < PortList.length; e++) { var t = sendAjaxSniffingData(PortList[e]); if (t != 0) { m_StorePort = t; return true } } return false }; e.IWSASetAsyncMode = function (e) { m_Async = e; return }; e.IWSAGetAsyncMode = function () { return m_Async }; e.IWSASetTimeOut = function (e) { m_SetTimeOut = e; return }; e.IWSASetPlanTextConvertMode = function (e) { m_PlanTextConvertMode = e; return }; e.IWSASetSM2IssuerCert = function (e) { m_SM2IssuerCert = e; return }; e.IWSAGetVersion = function (e) { return sendAjaxData("GetVersion", "GET", "", e) }; e.IWSABase64Encode = function (e, t) { if (e != "") { e = GetPlanTextForConvertMode(e) } var r = ["PlainText="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSBase64Encode", "POST", n, t) }; e.IWSABase64Decode = function (e, t) { if (e == "") { } e = BASE64URLEN(e); var r = ["PlainText="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSBase64Decode", "POST", n, t) }; e.IWSAHashAndBase64Encode = function (e, t, r) { t = GetDigestArithmeticByName(t); if (e == "" || t == "") { } if (e != "") { e = GetPlanTextForConvertMode(e) } var a = ["PlainText=", "&DigestArithmetic="]; var n = [e, t]; var i = JointSendData(a, n); return sendAjaxData("NSHashAndBase64Encode", "POST", i, r) }; e.IWSASignHash = function (e, t, r, a) { r = GetDigestArithmeticByName(r); if (e != "") { e = GetPlanTextForConvertMode(e) } var n = ["&PlainText=", "&CertIndex=", "&DigestArithmetic="]; var i = [e, t, r]; var o = JointSendData(n, i); return sendAjaxData("NSSignHash", "POST", o, a) }; e.IWSAVerifyHash = function (e, t, r) { e = BASE64URLEN(e); if (e == "" || t == "") { } if (t != "") { t = GetPlanTextForConvertMode(t) } var a = ["&signedMsg=", "&PlainText="]; var n = [e, t]; var i = JointSendData(a, n); return sendAjaxData("NSVerifyHash", "POST", i, r) }; e.IWSASKFSM2SignHash = function (e, t, r, a, n) { a = GetDigestArithmeticByName(a); e = BASE64URLEN(e); if (e != "") { e = GetPlanTextForConvertMode(e) } var i = ["&HashValue=", "&CertIndex=", "&UsbKeyPin=", "&DigestArithmetic="]; var o = [e, t, r, a]; var S = JointSendData(i, o); return sendAjaxData("NSSKFSM2SignHash", "POST", S, n) }; e.IWSASKFSM2VerifyHash = function (e, t, r) { e = BASE64URLEN(e); t = BASE64URLEN(t); var a = ["&signedMsg=", "&HashValue="]; var n = [e, t]; var i = JointSendData(a, n); return sendAjaxData("NSSKFSM2VerifyHash", "POST", i, r) }; e.IWSADetachedSign = function (e, t, r, a, n) { a = GetDigestArithmeticByName(a); if (t != "") { t = GetPlanTextForConvertMode(t) } var i = ["PortGrade=", "&PlainText=", "&CertIndex=", "&DigestArithmetic="]; var o = [e, t, r, a]; var S = JointSendData(i, o); return sendAjaxData("NSDetachedSign", "POST", S, n) }; e.IWSADetachedVerify = function (e, t, r, a) { t = BASE64URLEN(t); if (t == "" || r == "") { } if (r != "") { r = GetPlanTextForConvertMode(r) } var n = ["PortGrade=", "&signedMsg=", "&PlainText=", "&SM2IssuerCert="]; var i = ["", "", "", ""]; if (e == 1) { n = ["PortGrade=", "&signedMsg=", "&PlainText="]; i = [e, t, r] } if (e == 2) { m_SM2IssuerCert = BASE64URLEN(m_SM2IssuerCert); n = ["PortGrade=", "&signedMsg=", "&PlainText=", "&SM2IssuerCert="]; i = [e, t, r, m_SM2IssuerCert] } var o = JointSendData(n, i); return sendAjaxData("NSDetachedVerify", "POST", o, a) }; e.IWSAAttachedSign = function (e, t, r, a, n) { a = GetDigestArithmeticByName(a); if (t != "") { t = GetPlanTextForConvertMode(t) } var i = ["PortGrade=", "&PlainText=", "&CertIndex=", "&DigestArithmetic="]; var o = [e, t, r, a]; var S = JointSendData(i, o); return sendAjaxData("NSAttachedSign", "POST", S, n) }; e.IWSAAttachedSignDefaultDN = function (e, t, r, a, n) { a = GetDigestArithmeticByName(a); if (e != "") { e = GetPlanTextForConvertMode(e) } var i = InfosecGetCertStoreName("", "Sign"); var o = ""; if (r == "1") { o = "2" } if (r == "0") { o = "0" } var S = ["PortGrade=", "&PlainText=", "&CertStore=", "&defultDN=", "&Keyspec=", "&DigestArithmetic="]; var s = [1, e, i, t, o, a]; var c = JointSendData(S, s); return sendAjaxData("NSAttachedSignDefaultDN", "POST", c, n) }; e.IWSAAttachedSignAdvDefaultDN = function (e, t, r, a, n, i, o) { i = GetDigestArithmeticByName(i); if (e != "") { e = GetPlanTextForConvertMode(e) } var S = InfosecGetCertStoreName("", "Sign"); var s = ""; if (n == "1") { s = "2" } if (n == "0") { s = "0" } var c = ["PortGrade=", "&PlainText=", "&CertStore=", "&CertStoreSM2=", "&CertStoreType=", "&defultDN=", "&Keyspec=", "&DigestArithmetic="]; var d = [2, e, S, t, r, a, s, i]; var f = JointSendData(c, d); return sendAjaxData("NSAttachedSignDefaultDN", "POST", f, o) }; e.IWSADetachedSignDefaultDN = function (e, t, r, a, n) { a = GetDigestArithmeticByName(a); if (e != "") { e = GetPlanTextForConvertMode(e) } var i = InfosecGetCertStoreName("", "Sign"); var o = ""; if (r == "1") { o = "2" } if (r == "0") { o = "0" } var S = ["PortGrade=", "&PlainText=", "&CertStore=", "&defultDN=", "&Keyspec=", "&DigestArithmetic="]; var s = [1, e, i, t, o, a]; var c = JointSendData(S, s); return sendAjaxData("NSDetachedSignDefaultDN", "POST", c, n) }; e.IWSADetachedSignAdvDefaultDN = function (e, t, r, a, n, i, o) { i = GetDigestArithmeticByName(i); if (e != "") { e = GetPlanTextForConvertMode(e) } var S = InfosecGetCertStoreName("", "Sign"); var s = ""; if (n == "1") { s = "2" } if (n == "0") { s = "0" } var c = ["PortGrade=", "&PlainText=", "&CertStore=", "&CertStoreSM2=", "&CertStoreType=", "&defultDN=", "&Keyspec=", "&DigestArithmetic="]; var d = [2, e, S, t, r, a, s, i]; var f = JointSendData(c, d); return sendAjaxData("NSDetachedSignDefaultDN", "POST", f, o) }; e.IWSAAttachedVerify = function (e, t, r) { return AttachedSignVerify("NSAttachedVerify", e, t, r) }; e.IWSARawSign = function (e, t, r, a) { r = GetDigestArithmeticByName(r); if (e != "") { e = GetPlanTextForConvertMode(e) } var n = ["PlainText=", "&CertIndex=", "&DigestArithmetic="]; var i = [e, t, r]; var o = JointSendData(n, i); return sendAjaxData("NSRawSign", "POST", o, a) }; e.IWSARawSignDefaultDN = function (e, t, r, a, n) { a = GetDigestArithmeticByName(a); if (e != "") { e = GetPlanTextForConvertMode(e) } var i = InfosecGetCertStoreName("", "Sign"); var o = ""; if (r == "1") { o = "2" } if (r == "0") { o = "0" } var S = ["PlainText=", "&CertStore=", "&defultDN=", "&Keyspec=", "&DigestArithmetic="]; var s = [e, i, t, o, a]; var c = JointSendData(S, s); return sendAjaxData("NSRawSignDefaultDN", "POST", c, n) }; e.IWSARawVerifyDefaultDN = function (e, t, r, a, n) { a = GetDigestArithmeticByName(a); if (e != "") { e = GetPlanTextForConvertMode(e) } t = BASE64URLEN(t); var i = InfosecGetCertStoreName("", "Encrypt"); var o = ["PlainText=", "&signedMsg=", "&CertStore=", "&defultDN=", "&DigestArithmetic="]; var S = [e, t, i, r, a]; var s = JointSendData(o, S); return sendAjaxData("NSRawVerifyDefaultDN", "POST", s, n) }; e.IWSARawVerify = function (e, t, r, a, n) { a = GetDigestArithmeticByName(a); if (e != "") { e = GetPlanTextForConvertMode(e) } t = BASE64URLEN(t); var i = ["PlainText=", "&signedMsg=", "&CertIndex=", "&DigestArithmetic="]; var o = [e, t, r, a]; var S = JointSendData(i, o); return sendAjaxData("NSRawVerify", "POST", S, n) }; e.IWSAAddForm = function (e) { if (e != "") { e = GetPlanTextForConvertMode(e) } m_ListForm.push(e); return }; e.IWSAAddFile = function (e) { m_ListFile.push(e); return }; e.IWSAClearFormList = function () { m_ListForm = []; return }; e.IWSAClearFileList = function () { m_ListFile = []; return }; e.IWSAGetAlreadyFormList = function () { return m_ListForm }; e.IWSAGetAlreadyFileList = function () { return m_ListFile }; e.IWSAGetResponsedForm = function () { var e = ""; if (m_ListFormResponsed.length > 0) { e = m_ListFormResponsed[0]; m_ListFormResponsed = m_ListFormResponsed.slice(1) } return e }; e.IWSAGetResponsedFileName = function () { var e = ""; if (m_ListFileNameResponsed.length > 0) { e = m_ListFileNameResponsed[0] } return e }; e.IWSAGetResponsedFile = function (e, t) { var r = ""; if (m_ListFileNameResponsed.length > 0) { r = m_ListFileNameResponsed[0]; m_ListFileNameResponsed = m_ListFileNameResponsed.slice(1) } var a = ["FileName=", "&FilePathName="]; var n = [r, e]; var i = JointSendData(a, n); return sendAjaxData("NSFormFileGetFile", "POST", i, t) }; e.IWSAFormFileSign = function (e, t, r) { var a = GetSendFormFilePlantText(); t = GetDigestArithmeticByName(t); var n = ["PortGrade=", "&PlainText=", "&CertIndex=", "&DigestArithmetic="]; var i = ["2", a, e, t]; var o = JointSendData(n, i); return sendAjaxData("NSFormFileSign", "POST", o, r) }; e.IWSAFormFileSignDefaultDN = function (e, t, r, a, n, i) { var o = GetSendFormFilePlantText(); n = GetDigestArithmeticByName(n); var S = InfosecGetCertStoreName("", "Sign"); var s = ""; if (a == "1") { s = "2" } if (a == "0") { s = "0" } var c = ["PortGrade=", "&PlainText=", "&CertStore=", "&CertStoreSM2=", "&CertStoreType=", "&defultDN=", "&Keyspec=", "&DigestArithmetic="]; var d = [2, o, S, e, t, r, s, n]; var f = JointSendData(c, d); return sendAjaxData("NSFormFileSignDefaultDN", "POST", f, i) }; e.IWSAFormFileVerify = function (e, t) { clearResponsedList(); return AttachedSignVerify("NSFormFileVerify", "2", e, t) }; e.IWSAEncryptedEnvelop = function (e, t, r, a) { r = GetSymmetryArithmeticByName(r); if (e != "") { e = GetPlanTextForConvertMode(e) } var n = ["PlainText=", "&CertIndex=", "&SymmetryArithmetic="]; var i = [e, t, r]; var o = JointSendData(n, i); return sendAjaxData("NSEncryptedEnvelop", "POST", o, a) }; e.IWSAEncryptedEnvelopDefaultDN = function (e, t, r, a) { r = GetSymmetryArithmeticByName(r); if (e != "") { e = GetPlanTextForConvertMode(e) } var n = InfosecGetCertStoreName("", "Encrypt"); var i = ["PlainText=", "&CertStore=", "&defultDN=", "&SymmetryArithmetic="]; var o = [e, n, t, r]; var S = JointSendData(i, o); return sendAjaxData("NSEncryptedEnvelopDefaultDN", "POST", S, a) }; e.IWSADecryptEnvelop = function (e, t) { return DecryptEnvelop("NSDecryptEnvelop", e, t) }; e.IWSAFormFileEncryptedEnvelop = function (e, t, r) { var a = GetSendFormFilePlantText(); t = GetSymmetryArithmeticByName(t); var n = ["PlainText=", "&CertIndex=", "&SymmetryArithmetic="]; var i = [a, e, t]; var o = JointSendData(n, i); return sendAjaxData("NSFormFileEncryptedEnvelop", "POST", o, r) }; e.IWSAFormFileEncryptedEnvelopDefaultDN = function (e, t, r) { var a = GetSendFormFilePlantText(); var n = InfosecGetCertStoreName("", "Encrypt"); t = GetSymmetryArithmeticByName(t); var i = ["PlainText=", "&CertStore=", "&defultDN=", "&SymmetryArithmetic="]; var o = [a, n, e, t]; var S = JointSendData(i, o); return sendAjaxData("NSFormFileEncryptedEnvelopDefaultDN", "POST", S, r) }; e.IWSAFormFileDecryptEnvelop = function (e, t) { clearResponsedList(); return DecryptEnvelop("NSFormFileDecryptedEnvelop", e, t) }; e.IWSAEncryptedSignEnvelop = function (e, t, r, a, n, i) { a = GetDigestArithmeticByName(a); n = GetSymmetryArithmeticByName(n); if (e != "") { e = GetPlanTextForConvertMode(e) } var o = ["PlainText=", "&SignCertIndex=", "&EncryptCertIndex=", "&DigestArithmetic=", "&SymmetryArithmetic="]; var S = [e, t, r, a, n]; var s = JointSendData(o, S); return sendAjaxData("NSEncryptedSignEnvelop", "POST", s, i) }; e.IWSAEncryptedSignEnvelopDefaultDN = function (e, t, r, a, n, i, o) { n = GetDigestArithmeticByName(n); i = GetSymmetryArithmeticByName(i); if (e != "") { e = GetPlanTextForConvertMode(e) } var S = InfosecGetCertStoreName("", "Sign"); var s = InfosecGetCertStoreName("", "Encrypt"); var c = ""; if (a == "1") { c = "2" } if (a == "0") { c = "0" } var d = ["PlainText=", "&CertStore=", "&CertStore1=", "&defultDNSign=", "&defultDNEncrypt=", "&Keyspec=", "&DigestArithmetic=", "&SymmetryArithmetic="]; var f = [e, S, s, t, r, c, n, i]; var l = JointSendData(d, f); return sendAjaxData("NSEncryptedSignEnvelopDefaultDN", "POST", l, o) }; e.IWSADecryptSignEnvelop = function (e, t) { DecryptSignEnvelop("NSDecryptSignEnvelop", e, t); return }; e.IWSAFormFileEncryptedSignEnvelop = function (e, t, r, a, n) { var i = GetSendFormFilePlantText(); r = GetDigestArithmeticByName(r); a = GetSymmetryArithmeticByName(a); var o = ["PlainText=", "&SignCertIndex=", "&EncryptCertIndex=", "&DigestArithmetic=", "&SymmetryArithmetic="]; var S = [i, e, t, r, a]; var s = JointSendData(o, S); return sendAjaxData("NSFormFileEncryptedSignEnvelop", "POST", s, n) }; e.IWSAFormFileEncryptedSignEnvelopDefaultDN = function (e, t, r, a, n, i) { var o = GetSendFormFilePlantText(); a = GetDigestArithmeticByName(a); n = GetSymmetryArithmeticByName(n); var S = InfosecGetCertStoreName("", "Sign"); var s = InfosecGetCertStoreName("", "Encrypt"); var c = ""; if (r == "1") { c = "2" } if (r == "0") { c = "0" } var d = ["PlainText=", "&CertStore=", "&CertStore1=", "&defultDNSign=", "&defultDNEncrypt=", "&Keyspec=", "&DigestArithmetic=", "&SymmetryArithmetic="]; var f = [o, S, s, e, t, c, a, n]; var l = JointSendData(d, f); return sendAjaxData("NSFormFileEncryptedSignEnvelopDefaultDN", "POST", l, i) }; e.IWSAFormFileDecryptSignEnvelop = function (e, t) { clearResponsedList(); DecryptSignEnvelop("NSFormFileDecryptedSignEnvelop", e, t); return }; e.IWSAGetAllCertsListInfo = function (e, t, r, a) { var n = InfosecGetCertStoreName(e, t); var i = ["CertStore=", "&Keyspec="]; var o = [n, r]; var S = JointSendData(i, o); return sendAjaxData("NSGetCertsListInfo", "POST", S, a) }; e.IWSAGetAllCertsListInfoByCertDN = function (e, t, r, a, n) { var i = InfosecGetCertStoreName(e, t); var o = ["CertStore=", "&defultDN=", "&Keyspec="]; var S = [i, r, a]; var s = JointSendData(o, S); return sendAjaxData("NSGetCertsListInfo", "POST", s, n) }; e.IWSAGetAllCertsListInfoByCertIssuerDNAndCertSN = function (e, t, r, a, n, i) { var o = InfosecGetCertStoreName(e, t); var S = ["CertStore=", "&IssuerDN=", "&CertSN=", "&Keyspec="]; var s = [o, r, a, n]; var c = JointSendData(S, s); return sendAjaxData("NSGetCertsListInfo", "POST", c, i) }; e.IWSASetCertsListInfoCache = function (e, t) { var r = ["IsStore="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSSetCertsListInfoCache", "POST", n, t) }; e.IWSAGetCertInfoForIndex = function (e, t) { if (e < 0) { } var r = ["CertIndex="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSGetCertInfoForIndex", "POST", n, t) }; e.IWSAGetCertPublicKeyInfoForIndex = function (e, t) { if (e < 0) { } var r = ["CertIndex="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSGetCertPublicKeyInfoForIndex", "POST", n, t) }; e.IWSASkfGetCertList = function (e, t) { var r = ["DllFilePath="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSSkfGetCertsListInfo", "POST", n, t) }; e.IWSASkfSignData = function (e, t, r, a, n) { a = GetDigestArithmeticByName(a); if (e != "") { e = GetPlanTextForConvertMode(e) } var i = ["&PlainText=", "&CertIndex=", "&UsbKeyPin=", "&DigestArithmetic="]; var o = [e, t, r, a]; var S = JointSendData(i, o); return sendAjaxData("NSSkfAttachedSign", "POST", S, n) }; e.IWSASkfAttachedSignWithDN = function (e, t, r, a, n, i, o) { a = GetDigestArithmeticByName(a); if (e != "") { e = GetPlanTextForConvertMode(e) } var S = ""; if (i == "1") { S = "2" } if (i == "0") { S = "0" } var s = ["PlainText=", "&defultDN=", "&UsbKeyPin=", "&DigestArithmetic=", "&DllFilename=", "&Keyspec="]; var c = [e, t, r, a, n, S]; var d = JointSendData(s, c); return sendAjaxData("NSSkfAttachedSign", "POST", d, o) }; e.IWSASkfVerifySignData = function (e, t, r, a, n, i) { if (t != "") { t = GetPlanTextForConvertMode(t) } var o = ["signedMsg=", "&PlainText=", "&CertIndex=", "&UsbKeyPin=", "&DllFilename="]; var S = [e, t, r, a, n]; var s = JointSendData(o, S); return sendAjaxData("NSSkfAttachedVerify", "POST", s, i) }; e.IWSASkfDetachedSign = function (e, t, r, a, n) { a = GetDigestArithmeticByName(a); if (e != "") { e = GetPlanTextForConvertMode(e) } var i = ["&PlainText=", "&CertIndex=", "&UsbKeyPin=", "&DigestArithmetic="]; var o = [e, t, r, a]; var S = JointSendData(i, o); return sendAjaxData("NSSkfDetachedSign", "POST", S, n) }; e.IWSASkfDetachedSignDefaultDN = function (e, t, r, a, n, i, o) { a = GetDigestArithmeticByName(a); if (e != "") { e = GetPlanTextForConvertMode(e) } var S = ""; if (i == "1") { S = "2" } if (i == "0") { S = "0" } var s = ["PlainText=", "&DefaultDN=", "&UsbKeyPin=", "&DigestArithmetic=", "&DllFilePath=", "&Keyspec="]; var c = [e, t, r, a, n, S]; var d = JointSendData(s, c); return sendAjaxData("NSSkfDetachedSign", "POST", d, o) }; e.IWSASkfDetachedVerify = function (e, t, r) { if (t != "") { t = GetPlanTextForConvertMode(t) } var a = ["SignedMsg=", "&PlainText="]; var n = [e, t]; var i = JointSendData(a, n); return sendAjaxData("NSSkfDetachedVerify", "POST", i, r) }; e.IWSASkfRawSign = function (e, t, r, a, n) { a = GetDigestArithmeticByName(a); if (e != "") { e = GetPlanTextForConvertMode(e) } var i = ["PlainText=", "&CertIndex=", "&UsbKeyPin=", "&DigestArithmetic="]; var o = [e, t, r, a]; var S = JointSendData(i, o); return sendAjaxData("NSSkfRawSign", "POST", S, n) }; e.IWSASkfRawSignDefaultDN = function (e, t, r, a, n, i, o) { n = GetDigestArithmeticByName(n); if (e != "") { e = GetPlanTextForConvertMode(e) } var S = ""; if (r == "1") { S = "2" } if (r == "0") { S = "0" } var s = ["PlainText=", "&DefaultDN=", "&Keyspec=", "&UsbKeyPin=", "&DigestArithmetic=", "&DllFilePath="]; var c = [e, t, S, a, n, i]; var d = JointSendData(s, c); return sendAjaxData("NSSkfRawSign", "POST", d, o) }; e.IWSASkfRawVerify = function (e, t, r, a, n, i) { a = GetDigestArithmeticByName(a); if (e != "") { e = GetPlanTextForConvertMode(e) } t = BASE64URLEN(t); var o = ["PlainText=", "&SignedMsg=", "&CertIndex=", "&DigestArithmetic=", "&DllFilePath="]; var S = [e, t, r, a, n]; var s = JointSendData(o, S); return sendAjaxData("NSSkfRawVerify", "POST", s, i) }; e.IWSASkfRawVerifyDefaultDN = function (e, t, r, a, n, i, o) { n = GetDigestArithmeticByName(n); if (e != "") { e = GetPlanTextForConvertMode(e) } t = BASE64URLEN(t); var S = ""; if (a == "1") { S = "2" } if (a == "0") { S = "0" } var s = ["PlainText=", "&SignedMsg=", "&DefaultDN=", "&DigestArithmetic=", "&DllFilePath=", "&Keyspec="]; var c = [e, t, r, n, i, S]; var d = JointSendData(s, c); return sendAjaxData("NSSkfRawVerify", "POST", d, o) }; e.IWSASetSKFEnvelopeP7symmDer = function (e, t) { var r = ["P7symmDer="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSSKFEnvelopeP7symmDer", "POST", n, t) }; e.IWSASkfEncryptedEnvelop = function (e, t, r, a) { if (e != "") { e = GetPlanTextForConvertMode(e) } var n = ["PlainText=", "&EncCert=", "&SymmetryArithmetic="]; var i = [e, t, r]; var o = JointSendData(n, i); return sendAjaxData("NSSkfEncryptedEnvelop", "POST", o, a) }; e.IWSASkfEncryptedSignEnvelop = function (e, t, r, a, n, i, o) { n = GetDigestArithmeticByName(n); if (e != "") { e = GetPlanTextForConvertMode(e) } var S = ["PlainText=", "&EncCert=", "&CertIndex=", "&UsbKeyPin=", "&DigestArithmetic=", "&SymmetryArithmetic="]; var s = [e, t, r, a, n, i]; var c = JointSendData(S, s); return sendAjaxData("NSSkfEncryptedSignEnvelop", "POST", c, o) }; e.IWSASkfEncryptedSignEnvelopDefaultDN = function (e, t, r, a, n, i, o, S, s) { i = GetDigestArithmeticByName(i); if (e != "") { e = GetPlanTextForConvertMode(e) } var c = ""; if (a == "1") { c = "2" } if (a == "0") { c = "0" } var d = ["PlainText=", "&EncCert=", "&DefaultDN=", "&Keyspec=", "&UsbKeyPin=", "&DigestArithmetic=", "&SymmetryArithmetic=", "&DllFilePath="]; var f = [e, t, r, c, n, i, o, S]; var l = JointSendData(d, f); return sendAjaxData("NSSkfEncryptedSignEnvelop", "POST", l, s) }; e.IWSASetCertEnrollConnectType = function (e, t) { var r = ["nType="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSSetCertEnrollConnectType", "POST", n, t) }; e.IWSASetCertEnrollShowErrMsg = function (e, t) { var r = ["IsShow="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSSetCertEnrollShowErrMsg", "POST", n, t) }; e.IWSAGetEVersion = function (e) { return sendAjaxData("NSGetEVersion", "GET", "", e) }; e.IWSAGetERsaCertStore = function (e) { return sendAjaxData("NSGetRsaCertStore", "GET", "", e) }; e.IWSAGetESm2CFCACertStore = function (e) { return sendAjaxData("NSGetSm2CFCACertStore", "GET", "", e) }; e.IWSAGetDistinctNameKeyValuePairNumber = function (e, t) { var r = ["DN="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSGetDistinctNameKeyValuePairNumber", "POST", n, t) }; e.IWSAGetDistinctNameKeyValuePair = function (e, t, r) { var a = ["DN=", "&Index="]; var n = [e, t]; var i = JointSendData(a, n); return sendAjaxData("NSGetDistinctNameKeyValuePair", "POST", i, r) }; e.IWSAECompareCertTime = function (e, t, r) { var a = ["CT1=", "&CT2="]; var n = [e, t]; var i = JointSendData(a, n); return sendAjaxData("NSCompareCertTime", "POST", i, r) }; e.IWSAGenSecureAuthCode = function (e, t, r, a) { var n = ["RefNo=", "&AuthCode=", "&P10="]; var i = [e, t, r]; var o = JointSendData(n, i); return sendAjaxData("NSGenSecureAuthCode", "POST", o, a) }; e.IWSAGetX509CertInfo = function (e, t) { var r = ["X509Cert="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSGetX509CertInfo", "POST", n, t) }; e.IWSAGetX509FromP7Cert = function (e, t) { var r = ["P7Cert="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSGetX509FromP7Cert", "POST", n, t) }; e.IWSA_rsa_csp_listProvider = function (e) { return sendAjaxData("NSGetRsaCspListProvider", "GET", "", e) }; e.IWSA_rsa_csp_getCountOfCert = function (e) { return sendAjaxData("NSGetRsaCspCountOfCert", "GET", "", e) }; e.IWSA_rsa_csp_getCertInfo = function (e, t) { var r = ["CertIndex="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSGetRsaCspCertInfo", "POST", n, t) }; e.IWSA_rsa_csp_AdvgenContainerP10 = function (e, t, r, a) { var n = ["CspName=", "&IKeySize=", "&DN=", "&bDoubleCert="]; var i = [m_CspName, e, t, r]; var o = JointSendData(n, i); return sendAjaxData("NSAdvRsaCspGenContainerP10", "POST", o, a) }; e.IWSA_rsa_csp_AdvImportSignEncCert = function (e, t, r, a, n, i) { if (e == "X509") { var o = ["CspName=", "&SignCert_Base64=", "&EncCert_Base64=", "&EncPrikey_Base64=", "&UKEK_Base64="]; var S = [m_CspName, t, r, a, n]; var s = JointSendData(o, S); return sendAjaxData("NSRsaCspImportSignEncX509Cert", "POST", s, i) } if (e == "P7") { var o = ["CspName=", "&SignCert_Base64=", "&EncCert_Base64=", "&EncPrikey_Base64=", "&UKEK_Base64="]; var S = [m_CspName, t, r, a, n]; var s = JointSendData(o, S); return sendAjaxData("NSRsaCspImportSignEncP7Cert", "POST", s, i) } }; e.IWSA_rsa_csp_setProvider = function (e) { m_CspName = e; return }; e.IWSA_rsa_csp_deleteContainer = function (e, t) { var r = ["CspName=", "&Container="]; var a = [m_CspName, e]; var n = JointSendData(r, a); return sendAjaxData("NSRsaCspDeleteContainer", "POST", n, t) }; e.IWSA_rsa_csp_createContainer = function (e, t) { var r = ["CspName=", "&Container="]; var a = [m_CspName, e]; var n = JointSendData(r, a); return sendAjaxData("NSRsaCspCreateContainer", "POST", n, t) }; e.IWSA_rsa_csp_delContainer = function (e, t, r) { var a = ["CspNamedel=", "&Container="]; var n = [e, t]; var i = JointSendData(a, n); return sendAjaxData("NSRsaCspDelContainer", "POST", i, r) }; e.IWSA_rsa_csp_genContainer = function (e) { var t = ["CspName="]; var r = [m_CspName]; var a = JointSendData(t, r); return sendAjaxData("NSRsaCspGenContainer", "POST", a, e) }; e.IWSA_rsa_csp_genContainerP10 = function (e, t, r, a, n, i, o, S, s) { var c = ["CspName=", "&bSign=", "&KeySize=", "&DN=", "&DigestOID=", "&PubKeyAlgOID=", "&SignAlgOID=", "&bExport=", "&bProtect="]; var d = [m_CspName, e, t, r, a, n, i, o, S]; var f = JointSendData(c, d); return sendAjaxData("NSRsaCspGenContainerP10", "POST", f, s) }; e.IWSA_rsa_csp_genP10 = function (e, t, r, a, n, i, o, S, s, c) { var d = ["CspName=", "&Container=", "&bSign=", "&KeySize=", "&DN=", "&DigestOID=", "&PubKeyAlgOID=", "&SignAlgOID=", "&bExport=", "&bProtect="]; var f = [m_CspName, e, t, r, a, n, i, o, S, s]; var l = JointSendData(d, f); return sendAjaxData("NSRsaCspGenP10", "POST", l, c) }; e.IWSA_rsa_csp_genEncKeyPair = function (e) { var t = ["CspName="]; var r = [m_CspName]; var a = JointSendData(t, r); return sendAjaxData("NSRsaCspGenEncKeyPair", "POST", a, e) }; e.IWSA_rsa_csp_delEncKeyPair = function (e) { var t = ["CspName="]; var r = [m_CspName]; var a = JointSendData(t, r); return sendAjaxData("NSRsaCspDelEncKeyPair", "POST", a, e) }; e.IWSA_rsa_csp_importX509CertToStore = function (e, t, r) { var a = ["CspName=", "&X509Cert=", "&bRoot="]; var n = [m_CspName, e, t]; var i = JointSendData(a, n); return sendAjaxData("NSRsaCspImportX509CertToStore", "POST", i, r) }; e.IWSA_rsa_csp_delX509CertInStore = function (e, t, r) { var a = ["CspName=", "&Issuer=", "&Serial="]; var n = [m_CspName, e, t]; var i = JointSendData(a, n); return sendAjaxData("NSRsaCspDelX509CertInStore", "POST", i, r) }; e.IWSA_rsa_csp_importSignX509Cert = function (e, t, r) { var a = ["CspName=", "&Container=", "&X509Cert="]; var n = [m_CspName, e, t]; var i = JointSendData(a, n); return sendAjaxData("NSRsaCspImportSignX509Cert", "POST", i, r) }; e.IWSA_rsa_csp_importEncX509Cert = function (e, t, r, a, n, i, o) { var S = ["CspName=", "&Container=", "&X509Cert=", "&EncPrikey=", "&UKEK=", "&bExport=", "&bProtect="]; var s = [m_CspName, e, t, r, a, n, i]; var c = JointSendData(S, s); return sendAjaxData("NSRsaCspImportEncX509Cert", "POST", c, o) }; e.IWSA_rsa_csp_importSignP7Cert = function (e, t, r) { var a = ["CspName=", "&Container=", "&P7Cert="]; var n = [m_CspName, e, t]; var i = JointSendData(a, n); return sendAjaxData("NSRsaCspImportSignP7Cert", "POST", i, r) }; e.IWSA_rsa_csp_importEncP7Cert = function (e, t, r, a, n, i, o) { var S = ["CspName=", "&Container=", "&P7Cert=", "&EncPrikey=", "&UKEK=", "&bExport=", "&bProtect="]; var s = [m_CspName, e, t, r, a, n, i]; var c = JointSendData(S, s); return sendAjaxData("NSRsaCspImportEncP7Cert", "POST", c, o) }; e.IWSA_rsa_csp_exportSignX509Cert = function (e, t) { var r = ["CspName=", "&Container="]; var a = [m_CspName, e]; var n = JointSendData(r, a); return sendAjaxData("NSRsaCspExportSignX509Cert", "POST", n, t) }; e.IWSA_rsa_csp_exportEncX509Cert = function (e, t) { var r = ["CspName=", "&Container="]; var a = [m_CspName, e]; var n = JointSendData(r, a); return sendAjaxData("NSRsaCspExportEncX509Cert", "POST", n, t) }; e.IWSA_rsa_csp_exportPfxCert = function (e, t, r, a, n) { var i = ["CspName=", "&Issuer=", "&Serial=", "&Password=", "&bSaveAs="]; var o = [m_CspName, e, t, r, a]; var S = JointSendData(i, o); return sendAjaxData("NSRsaCspExportPfxCert", "POST", S, n) }; e.IWSA_rsa_csp_exportContainerPfxCert = function (e, t, r, a, n) { var i = ["CspName=", "&Container=", "&bSignCert=", "&Password=", "&bSaveAs="]; var o = [m_CspName, e, t, r, a]; var S = JointSendData(i, o); return sendAjaxData("NSRsaCspExportContainerPfxCert", "POST", S, n) }; e.IWSA_rsa_csp_signData = function (e, t, r, a) { var n = ["CspName=", "&Container=", "&PlantText=", "&DigestOID="]; var i = [m_CspName, e, t, r]; var o = JointSendData(n, i); return sendAjaxData("NSRsaCspSignData", "POST", o, a) }; e.IWSA_rsa_csp_verifySignData = function (e, t, r, a, n) { var i = ["CspName=", "&Container=", "&PlantText=", "&DigestOID=", "&SignedData="]; var o = [m_CspName, e, t, r, a]; var S = JointSendData(i, o); return sendAjaxData("NSRsaCspVerifySignData", "POST", S, n) }; e.IWSA_rsa_csp_encryptData = function (e, t, r) { var a = ["CspName=", "&Container=", "&PlantText="]; var n = [m_CspName, e, t]; var i = JointSendData(a, n); return sendAjaxData("NSRsaCspEncryptData", "POST", i, r) }; e.IWSA_rsa_csp_decryptData = function (e, t, r) { var a = ["CspName=", "&Container=", "&EncryptText="]; var n = [m_CspName, e, t]; var i = JointSendData(a, n); return sendAjaxData("NSRsaCspDecryptData", "POST", i, r) }; e.IWSA_sm2_cfca_listProvider = function (e) { return sendAjaxData("NSSm2CfcaGetProviderList", "GET", "", e) }; e.IWSA_sm2_cfca_getCountOfCert = function (e) { return sendAjaxData("NSSm2CfcaGetCountOfCert", "GET", "", e) }; e.IWSA_sm2_cfca_getCertInfo = function (e, t) { var r = ["CertIndex="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSSm2CfcaGetCertInfo", "POST", n, t) }; e.IWSA_sm2_cfca_setProvider = function (e) { m_CspName = e; return }; e.IWSA_sm2_cfca_deleteContainer = function (e, t) { var r = ["CspName=", "&Container="]; var a = [m_CspName, e]; var n = JointSendData(r, a); return sendAjaxData("NSSm2CfcaDeleteContainer", "POST", n, t) }; e.IWSA_sm2_cfca_createContainer = function (e, t) { var r = ["CspName=", "&Container="]; var a = [m_CspName, e]; var n = JointSendData(r, a); return sendAjaxData("NSSm2CfcaCreateContainer", "POST", n, t) }; e.IWSA_sm2_cfca_delContainer = function (e, t, r) { var a = ["CspNamedel=", "&Container="]; var n = [e, t]; var i = JointSendData(a, n); return sendAjaxData("NSSm2CfcaDelContainer", "POST", i, r) }; e.IWSA_sm2_cfca_genContainer = function (e) { var t = ["CspName="]; var r = [m_CspName]; var a = JointSendData(t, r); return sendAjaxData("NSSm2CfcaGenContainer", "POST", a, e) }; e.IWSA_sm2_cfca_genContainerP10Encpubkey = function (e, t) { var r = ["CspName=", "&DN="]; var a = [m_CspName, e]; var n = JointSendData(r, a); return sendAjaxData("NSSm2CfcaGenContainerP10Encpubkey", "POST", n, t) }; e.IWSA_sm2_cfca_genP10Encpubkey = function (e, t, r) { var a = ["CspName=", "&Container=", "&DN="]; var n = [m_CspName, e, t]; var i = JointSendData(a, n); return sendAjaxData("NSSm2CfcaGenP10Encpubkey", "POST", i, r) }; e.IWSA_sm2_cfca_importSignX509Cert = function (e, t, r) { var a = ["CspName=", "&Container=", "&X509Cert="]; var n = [m_CspName, e, t]; var i = JointSendData(a, n); return sendAjaxData("NSSm2CfcaImportSignX509Cert", "POST", i, r) }; e.IWSA_sm2_cfca_importEncX509Cert = function (e, t, r, a) { var n = ["CspName=", "&Container=", "&X509Cert=", "&EncPrikey="]; var i = [m_CspName, e, t, r]; var o = JointSendData(n, i); return sendAjaxData("NSSm2CfcaImportEncX509Cert", "POST", o, a) }; e.IWSA_sm2_cfca_AdvImportSignEncX509Cert = function (e, t, r, a) { var n = ["CspName=", "&SignCert=", "&EncCert=", "&EncPrikey="]; var i = [m_CspName, e, t, r]; var o = JointSendData(n, i); return sendAjaxData("NSSm2CfcaImportSignEncX509Cert", "POST", o, a) }; e.IWSA_sm2_cfca_signData = function (e, t, r) { var a = ["CspName=", "&Container=", "&PlantText="]; var n = [m_CspName, e, t]; var i = JointSendData(a, n); return sendAjaxData("NSSm2CfcaSignData", "POST", i, r) }; e.IWSA_sm2_skf_getCountOfCert = function (e) { return sendAjaxData("NSSm2SkfGetCountOfCert", "GET", "", e) }; e.IWSA_sm2_skf_getCertInfo = function (e, t) { var r = ["CertIndex="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSSm2SkfGetCertInfo", "POST", n, t) }; e.IWSA_sm2_skf_getProviderList = function (e) { return sendAjaxData("NSSm2SkfGetProviderList", "GET", "", e) }; e.IWSA_sm2_skf_getDeviceList = function (e, t) { var r = ["Provider="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSSm2SkfGetDeviceList", "POST", n, t) }; e.IWSA_sm2_skf_getApplicationList = function (e, t, r) { var a = ["Provider=", "&Device="]; var n = [e, t]; var i = JointSendData(a, n); return sendAjaxData("NSSm2SkfGetApplicationList", "POST", i, r) }; e.IWSA_sm2_skf_useDevice = function (e, t, r) { SkfDeviceType = 1; SkfUseDeviceInfoAry[0] = e; SkfUseDeviceInfoAry[1] = t; SkfUseDeviceInfoAry[2] = ""; if (r == "true" || r == "false") { SkfUseDeviceInfoAry[2] = r } return }; e.IWSA_sm2_skf_useDevice_Long = function (e, t, r, a) { SkfDeviceType = 1; SkfUseDeviceInfoAry[0] = e; SkfUseDeviceInfoAry[1] = t; SkfUseDeviceInfoAry[2] = ""; if (r == "true" || r == "false") { SkfUseDeviceInfoAry[2] = r } var n = GetSkfTitleParameterAndAllreadyDevice(); var i = GetSkfDataParameterAndAllreadyDevice(); var o = JointSendData(n, i); return sendAjaxData("NSSm2SkfUseDevice", "POST", o, a) }; e.IWSA_sm2_skf_setDevice = function (e, t, r) { SkfDeviceType = 2; SkfSetDeviceInfoAry[0] = e; SkfSetDeviceInfoAry[1] = t; SkfSetDeviceInfoAry[2] = r; return }; e.IWSA_sm2_skf_setDevice_Long = function (e, t, r, a) { SkfDeviceType = 2; SkfSetDeviceInfoAry[0] = e; SkfSetDeviceInfoAry[1] = t; SkfSetDeviceInfoAry[2] = r; var n = GetSkfTitleParameterAndAllreadyDevice(); var i = GetSkfDataParameterAndAllreadyDevice(); var o = JointSendData(n, i); return sendAjaxData("NSSm2SkfSetDevice", "POST", o, a) }; e.IWSA_sm2_skf_getContainerList = function (e) { var t = GetSkfTitleParameterAndAllreadyDevice(); var r = GetSkfDataParameterAndAllreadyDevice(); var a = JointSendData(t, r); return sendAjaxData("NSSm2SkfGetContainerList", "POST", a, e) }; e.IWSA_sm2_skf_getDeviceInfo = function (e, t, r) { var a = ["Provider=", "&Device="]; var n = [e, t]; var i = JointSendData(a, n); return sendAjaxData("NSSm2SkfGetDeviceInfo", "POST", i, r) }; e.IWSA_sm2_skf_verifyPin = function (e, t) { var r = GetSkfTitleParameterAndAllreadyDevice("PIN"); var a = GetSkfDataParameterAndAllreadyDevice(e); var n = JointSendData(r, a); return sendAjaxData("NSSm2SkfVerifyPin", "POST", n, t) }; e.IWSA_sm2_skf_verifyPinOfCtrl = function (e) { var t = GetSkfTitleParameterAndAllreadyDevice(); var r = GetSkfDataParameterAndAllreadyDevice(); var a = JointSendData(t, r); return sendAjaxData("NSSm2SkfVerifyPinOfCtrl", "POST", a, e) }; e.IWSA_sm2_skf_getPinInfo = function (e) { var t = GetSkfTitleParameterAndAllreadyDevice(); var r = GetSkfDataParameterAndAllreadyDevice(); var a = JointSendData(t, r); return sendAjaxData("NSSm2SkfGetPinInfo", "POST", a, e) }; e.IWSA_sm2_skf_createContainer = function (e, t, r) { var a = GetSkfTitleParameterAndAllreadyDevice("PIN", "Container"); var n = GetSkfDataParameterAndAllreadyDevice(e, t); var i = JointSendData(a, n); return sendAjaxData("NSSm2SkfCreateContainer", "POST", i, r) }; e.IWSA_sm2_skf_delContainer = function (e, t, r, a, n, i) { var o = GetSkfTitleParameterAndAllreadyDevice("Providerdel", "Devicedel", "Applicationdel", "Containerdel", "bVerifyPin"); var S = GetSkfDataParameterAndAllreadyDevice(e, t, r, a, n); var s = JointSendData(o, S); return sendAjaxData("NSSm2SkfDelContainer", "POST", s, i) }; e.IWSA_sm2_skf_deleteContainer = function (e, t, r) { var a = GetSkfTitleParameterAndAllreadyDevice("PIN", "Container"); var n = GetSkfDataParameterAndAllreadyDevice(e, t); var i = JointSendData(a, n); return sendAjaxData("NSSm2SkfDeleteContainer", "POST", i, r) }; e.IWSA_sm2_skf_writeData = function (e, t, r) { var a = GetSkfTitleParameterAndAllreadyDevice("PIN", "Data"); var n = GetSkfDataParameterAndAllreadyDevice(e, t); var i = JointSendData(a, n); return sendAjaxData("NSSm2SkfWriteData", "POST", i, r) }; e.IWSA_sm2_skf_readData = function (e, t) { var r = GetSkfTitleParameterAndAllreadyDevice("PIN"); var a = GetSkfDataParameterAndAllreadyDevice(e); var n = JointSendData(r, a); return sendAjaxData("NSSm2SkfReadData", "POST", n, t) }; e.IWSA_sm2_skf_genContainer = function (e, t) { var r = GetSkfTitleParameterAndAllreadyDevice("PIN"); var a = GetSkfDataParameterAndAllreadyDevice(e); var n = JointSendData(r, a); return sendAjaxData("NSSm2SkfGenContainer", "POST", n, t) }; e.IWSA_sm2_skf_genContainerP10 = function (e, t, r, a, n) { var i = GetSkfTitleParameterAndAllreadyDevice("PIN", "DN", "ID", "bID"); var o = GetSkfDataParameterAndAllreadyDevice(e, t, r, a); var S = JointSendData(i, o); return sendAjaxData("NSSm2SkfGenContainerP10", "POST", S, n) }; e.IWSA_sm2_skf_genP10 = function (e, t, r, a, n, i) { var o = GetSkfTitleParameterAndAllreadyDevice("PIN", "Container", "DN", "ID", "bID"); var S = GetSkfDataParameterAndAllreadyDevice(e, t, r, a, n); var s = JointSendData(o, S); return sendAjaxData("NSSm2SkfGenP10", "POST", s, i) }; e.IWSA_sm2_skf_getEnveloped = function (e, t, r, a, n) { var i = ["X509Cert=", "&SGDSMECB=", "&EncPrikey=", "&UKEK="]; var o = [e, t, r, a]; var S = JointSendData(i, o); return sendAjaxData("NSSm2SkfGetEnveloped", "POST", S, n) }; e.IWSA_sm2_skf_importSignX509Cert = function (e, t, r, a) { var n = GetSkfTitleParameterAndAllreadyDevice("PIN", "Container", "X509Cert"); var i = GetSkfDataParameterAndAllreadyDevice(e, t, r); var o = JointSendData(n, i); return sendAjaxData("NSSm2SkfImportSignX509Cert", "POST", o, a) }; e.IWSA_sm2_skf_importEncX509Cert = function (e, t, r, a, n) { var i = GetSkfTitleParameterAndAllreadyDevice("PIN", "Container", "X509Cert", "EncPrikey"); var o = GetSkfDataParameterAndAllreadyDevice(e, t, r, a); var S = JointSendData(i, o); return sendAjaxData("NSSm2SkfImportEncX509Cert", "POST", S, n) }; e.IWSA_sm2_skf_AdvImportSignEncX509Cert = function (e, t, r, a, n) { var i = GetSkfTitleParameterAndAllreadyDevice("PIN", "SignCert", "EncCert", "EncPrikey"); var o = GetSkfDataParameterAndAllreadyDevice(e, t, r, a); var S = JointSendData(i, o); return sendAjaxData("NSSm2SkfImportSignEncX509Cert", "POST", S, n) }; e.IWSA_sm2_skf_exportSignX509Cert = function (e, t, r) { var a = GetSkfTitleParameterAndAllreadyDevice("PIN", "Container"); var n = GetSkfDataParameterAndAllreadyDevice(e, t); var i = JointSendData(a, n); return sendAjaxData("NSSm2SkfExportSignX509Cert", "POST", i, r) }; e.IWSA_sm2_skf_exportEncX509Cert = function (e, t, r) { var a = GetSkfTitleParameterAndAllreadyDevice("PIN", "Container"); var n = GetSkfDataParameterAndAllreadyDevice(e, t); var i = JointSendData(a, n); return sendAjaxData("NSSm2SkfExportEncX509Cert", "POST", i, r) }; e.IWSA_sm2_skf_signData = function (e, t, r, a, n, i) { var o = GetSkfTitleParameterAndAllreadyDevice("PIN", "Container", "PlantText", "ID", "bID"); var S = GetSkfDataParameterAndAllreadyDevice(e, t, r, a, n); var s = JointSendData(o, S); return sendAjaxData("NSSm2SkfSignData", "POST", s, i) }; e.IWSA_sm2_skf_verifySignData = function (e, t, r, a, n, i, o) { var S = GetSkfTitleParameterAndAllreadyDevice("PIN", "Container", "PlantText", "SignData", "ID", "bID"); var s = GetSkfDataParameterAndAllreadyDevice(e, t, r, a, n, i); var c = JointSendData(S, s); return sendAjaxData("NSSm2SkfVerifySignData", "POST", c, o) }; e.IWSA_sm2_skf_encryptData = function (e, t, r, a) { var n = GetSkfTitleParameterAndAllreadyDevice("PIN", "Container", "PlantText"); var i = GetSkfDataParameterAndAllreadyDevice(e, t, r); var o = JointSendData(n, i); return sendAjaxData("NSSm2SkfEncryptData", "POST", o, a) }; e.IWSA_sm2_skf_decryptData = function (e, t, r, a) { var n = GetSkfTitleParameterAndAllreadyDevice("PIN", "Container", "EncryptText"); var i = GetSkfDataParameterAndAllreadyDevice(e, t, r); var o = JointSendData(n, i); return sendAjaxData("NSSm2SkfDecryptData", "POST", o, a) }; e.IWSA_sm2_skf_GenContainerECCKeyPair = function (e, t, r) { var a = GetSkfTitleParameterAndAllreadyDevice("PIN", "Container"); var n = GetSkfDataParameterAndAllreadyDevice(e, t); var i = JointSendData(a, n); return sendAjaxData("NSSm2SkfGenContainerECCKeyPair", "POST", i, r) }; e.IWSA_sm2_skf_ImportEncSM2EnvelopedKey = function (e, t, r, a) { var n = GetSkfTitleParameterAndAllreadyDevice("PIN", "Container", "EncPrikey"); var i = GetSkfDataParameterAndAllreadyDevice(e, t, r); var o = JointSendData(n, i); return sendAjaxData("NSSm2SkfImportEncSM2EnvelopedKey", "POST", o, a) }; e.IWSABigFileDetachedSign = function (e, t, r, a) { r = GetDigestArithmeticByName(r); if (e != "") { e = GetPlanTextForConvertMode(e) } var n = ["FilePathName=", "&CertIndex=", "&DigestArithmetic="]; var i = [e, t, r]; var o = JointSendData(n, i); return sendAjaxData("NSBigFileDetachedSign", "POST", o, a) }; e.IWSABigFileDetachedVerify = function (e, t, r) { e = BASE64URLEN(e); if (t != "") { t = GetPlanTextForConvertMode(t) } var a = ["signedMsg=", "&FilePathName="]; var n = [e, t]; var i = JointSendData(a, n); return sendAjaxData("NSBigFileDetachedVerify", "POST", i, r) }; e.IWSASKFBigFileDetachedSign = function (e, t, r, a, n) { a = GetDigestArithmeticByName(a); if (e != "") { e = GetPlanTextForConvertMode(e) } var i = ["FilePathName=", "&CertIndex=", "&UsbKeyPin=", "&DigestArithmetic="]; var o = [e, t, r, a]; var S = JointSendData(i, o); return sendAjaxData("NSSKFBigFileDetachedSign", "POST", S, n) }; e.IWSABigFileDetachedSignDefaultDN = function (e, t, r, a, n) { a = GetDigestArithmeticByName(a); if (e != "") { e = GetPlanTextForConvertMode(e) } var i = InfosecGetCertStoreName("", "Sign"); var o = ""; if (r == "1") { o = "2" } if (r == "0") { o = "0" } var S = ["FilePathName=", "&CertStore=", "&defultDN=", "&Keyspec=", "&DigestArithmetic="]; var s = [e, i, t, o, a]; var c = JointSendData(S, s); return sendAjaxData("NSBigFileDetachedSignDefaultDN", "POST", c, n) }; e.IWSALoadDLL = function (e, t) { var r = ["dllPathName="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSLoadExtendDLL", "POST", n, t) }; e.IWSAFreeDLL = function (e) { return sendAjaxData("NSFreeExtendDLL", "GET", "", e) }; e.IWSAStdCallDLLFuncParameterZero = function (e, t) { var r = ["dllFuncName="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSStdCallDLLFuncParameterZero", "POST", n, t) }; e.IWSAStdCallDLLFuncParameterOutCPtrOne = function (e, t, r) { var a = ["dllFuncName=", "&OutCharLen="]; var n = [e, t]; var i = JointSendData(a, n); return sendAjaxData("NSStdCallDLLFuncParameterOutCPtrOne", "POST", i, r) }; e.IWSAStdCallDLLFuncTwoParameter = function (e, t, r, a) { var n = ["dllFuncName=", "&strParameter1=", "&strParameter2="]; var i = [e, t, r]; var o = JointSendData(n, i); return sendAjaxData("NSStdCallDLLFuncTwoParameter", "POST", o, a) }; e.IWSAStdCallDLLFuncTwoParameterOutCPtrOne = function (e, t, r) { var a = ["dllFuncName=", "&strParameter1="]; var n = [e, t]; var i = JointSendData(a, n); return sendAjaxData("NSStdCallDLLFuncTwoParameterOutCPtrOne", "POST", i, r) }; e.IWSAStdCallDLLFuncFourParameterOutCPtrOne = function (e, t, r, a, n) { var i = ["dllFuncName=", "&strParameter1=", "&strParameter2=", "&strParameter3="]; var o = [e, t, r, a]; var S = JointSendData(i, o); return sendAjaxData("NSStdCallDLLFuncFourParameterOutCPtrOne", "POST", S, n) }; e.IWSACallDLLFuncParameterZero = function (e, t) { var r = ["dllFuncName="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSCallDLLFuncParameterZero", "POST", n, t) }; e.IWSACallDLLFuncParameterOutCPtrOne = function (e, t, r) { var a = ["dllFuncName=", "&OutCharLen="]; var n = [e, t]; var i = JointSendData(a, n); return sendAjaxData("NSCallDLLFuncParameterOutCPtrOne", "POST", i, r) }; e.IWSACallDLLFuncTwoParameter = function (e, t, r, a) { var n = ["dllFuncName=", "&strParameter1=", "&strParameter2="]; var i = [e, t, r]; var o = JointSendData(n, i); return sendAjaxData("NSCallDLLFuncTwoParameter", "POST", o, a) }; e.IWSACallDLLFuncTwoParameterOutCPtrOne = function (e, t, r) { var a = ["dllFuncName=", "&strParameter1="]; var n = [e, t]; var i = JointSendData(a, n); return sendAjaxData("NSCallDLLFuncTwoParameterOutCPtrOne", "POST", i, r) }; e.IWSACallDLLFuncFourParameterOutCPtrOne = function (e, t, r, a, n) { var i = ["dllFuncName=", "&strParameter1=", "&strParameter2=", "&strParameter3="]; var o = [e, t, r, a]; var S = JointSendData(i, o); return sendAjaxData("NSCallDLLFuncFourParameterOutCPtrOne", "POST", S, n) }; e.IWSASkfGetCertsListInfoDIY = function (e, t) { var r = ["DllFilePath="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSSkfGetCertsListInfo", "POST", n, t) }; e.IWSASkfRawSignDIY = function (e, t, r, a, n) { if (e != "") { e = GetPlanTextForConvertMode(e) } var i = ["PlainText=", "&CertIndex=", "&UsbKeyPin=", "&DigestArithmetic="]; var o = [e, t, r, a]; var S = JointSendData(i, o); return sendAjaxData("NSSkfRawSign", "POST", S, n) }; e.IWSASkfGetCertInfoForIndex = function (e, t) { var r = ["CertIndex="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSSkfGetCertInfoForIndex", "POST", n, t) }; e.IWSASkfGetCertPublicKeyInfoForIndex = function (e, t) { var r = ["CertIndex="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSSkfGetCertPublicKeyInfoForIndex", "POST", n, t) }; e.IWSABigFileHash = function (e, t, r) { if (e != "") { e = GetPlanTextForConvertMode(e) } var a = ["FilePathName=", "&DigestArithmetic="]; var n = [e, t]; var i = JointSendData(a, n); return sendAjaxData("NSBigFileHash", "POST", i, r) }; e.IWSACALLDLLFunction = function (e, t) { var r = ["strText="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSCallDLLFunction", "POST", n, t) }; e.IWSAAddLicense = function (e, t) { var r = ["strText="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSAddLicense", "POST", n, t) }; e.IWSAGetLicenseTime = function (e) { return sendAjaxData("NSGetLicenseTime", "GET", "", e) }; e.IWSAAddCookie = function (e, t, r) { var a = ["Name=", "&Value="]; var n = [e, t]; var i = JointSendData(a, n); return sendAjaxData("NSAddCookie", "POST", i, r) }; e.IWSAGetCookieCount = function (e) { return sendAjaxData("NSGetCookieCount", "GET", "", e) }; e.IWSADelCookieForName = function (e, t) { var r = ["Name="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSDelCookieForName", "POST", n, t) }; e.IWSAGetCookieNameForIndex = function (e, t) { var r = ["Index="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSGetCookieNameForIndex", "POST", n, t) }; e.IWSAGetCookieValueForIndex = function (e, t) { var r = ["Index="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSGetCookieValueForIndex", "POST", n, t) }; e.IWSAGetCookieValueForName = function (e, t) { var r = ["Name="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSGetCookieValueForName", "POST", n, t) }; e.IWSASkfGetFileNameList = function (e, t) { var r = ["DllFilePath="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSSkfGetFileNameList", "POST", n, t) }; e.IWSASkfGetFileInfoForIndex = function (e, t, r) { var a = ["DllFilePath=", "&Index="]; var n = [e, t]; var i = JointSendData(a, n); return sendAjaxData("NSSkfGetFileInfoForIndex", "POST", i, r) }; e.IWSA_sm2_skf_InitKeyApplicationFT = function (e, t, r, a, n, i) { var o = ["Provider=", "&Device=", "&AppName=", "&AdminPin=", "&UserPin="]; var S = [e, t, r, a, n]; var s = JointSendData(o, S); return sendAjaxData("NSSm2SkfInitKeyApplicationFT", "POST", s, i) }; e.IWSA_sm2_skf_CheckDefaultPIN = function (e) { var t = GetSkfTitleParameterAndAllreadyDevice(); var r = GetSkfDataParameterAndAllreadyDevice(); var a = JointSendData(t, r); return sendAjaxData("NSSm2SkfCheckDefaultPIN", "POST", a, e) }; e.IWSA_sm2_skf_ChangePin = function (e, t, r) { var a = GetSkfTitleParameterAndAllreadyDevice("OldPin", "NewPin"); var n = GetSkfDataParameterAndAllreadyDevice(e, t); var i = JointSendData(a, n); return sendAjaxData("NSSm2SkfChangePin", "POST", i, r) }; e.IWSA_RSA_skf_genContainerP10 = function (e, t, r, a, n, i) { var o = GetSkfTitleParameterAndAllreadyDevice("delContainer", "PIN", "KeySize", "DN", "Digest"); var S = GetSkfDataParameterAndAllreadyDevice(e, t, r, a, n); var s = JointSendData(o, S); return sendAjaxData("NSSm2SkfGenContainerP10RSA", "POST", s, i) }; e.IWSA_RSA_skf_importSignX509Cert = function (e, t, r, a) { var n = GetSkfTitleParameterAndAllreadyDevice("PIN", "Container", "X509Cert"); var i = GetSkfDataParameterAndAllreadyDevice(e, t, r); var o = JointSendData(n, i); return sendAjaxData("NSSm2SkfImportSignX509CertRSA", "POST", o, a) }; e.IWSASetRawSignIsAsn1Type = function (e, t) { var r = ["nType="]; var a = [e]; var n = JointSendData(r, a); return sendAjaxData("NSSetRawSignIsAsn1", "POST", n, t) }; return e }
@@ -0,0 +1,187 @@
1
+ // Attached方式签名
2
+ import { Message, Notification } from 'element-ui'
3
+ import { IWSAgent } from './InfosecNetSignCNGAgent.min.js'
4
+
5
+ const {
6
+ IWSASetTimeOut,
7
+ IWSAAttachedSignAdvDefaultDN,
8
+ IWSADetachedSign,
9
+ IWSAAttachedVerify,
10
+ IWSASendAvailable,
11
+ IWSAGetAvailable,
12
+ IWSAGetAllCertsListInfo
13
+ } = new IWSAgent()
14
+ IWSASetTimeOut(6000)
15
+ let certIndex = 0
16
+ let certDN = ''
17
+ function getDN() {
18
+ let dn
19
+ let userInfo = JSON.parse(sessionStorage.getItem('userInfo'))
20
+ if (userInfo && userInfo.dn) {
21
+ dn = userInfo.dn
22
+ }
23
+ return dn
24
+ }
25
+
26
+ /* 检测本地签名端口是否可用 */
27
+ export function availableSign(fn, url) {
28
+ let available = IWSAGetAvailable()
29
+ if (available) {
30
+ fn && fn(available)
31
+ } else {
32
+ IWSASendAvailable()
33
+ let count = 0
34
+ checkAvailable(fn, url, count)
35
+ }
36
+ }
37
+
38
+ function checkAvailable(fn, url, count) {
39
+ let name = window.NetSignDownloadName || 'NetSignCNG签名助手'
40
+ let available = IWSAGetAvailable()
41
+ if (available) {
42
+ fn && fn(available)
43
+ } else if (count == 10) {
44
+ fn && fn(available)
45
+ Notification({
46
+ title: '提示',
47
+ dangerouslyUseHTMLString: true,
48
+ message: `<div>检测到您的电脑中没有安装签名助手,为了不影响使用请使用管理员权限<a class="color-primary" href="${url}" download>下载安装</a>${name}</div>`,
49
+ duration: 5000
50
+ })
51
+ } else {
52
+ count++
53
+ setTimeout(() => {
54
+ checkAvailable(fn, url, count)
55
+ }, 200)
56
+ }
57
+ }
58
+
59
+ /**
60
+ * 签名解签函数
61
+ * @param {string} signedMsg 要解签的密文
62
+ * @returns {string} 解签后的明文
63
+ */
64
+ export function verifySign(signedMsg) {
65
+ let plainText
66
+ IWSAAttachedVerify('1', signedMsg, (errorCode, PlainText) => {
67
+ if (errorCode === 0 || errorCode === '0') {
68
+ plainText = PlainText
69
+ } else {
70
+ Message.error('签名解签失败!')
71
+ }
72
+ })
73
+ return plainText
74
+ }
75
+
76
+ /**
77
+ * 签名函数
78
+ * @param {string} plain 要签名的明文
79
+ * @param {string} dn 用户对应的Dn
80
+ * @returns {Promise<string>} 签名后的密文信息
81
+ */
82
+ export async function getSign(plain, dn) {
83
+ let index = await getCertInfo(dn)
84
+ if (index === -1) return
85
+ let plainText = typeof plain === 'object' ? JSON.stringify(plain) : plain
86
+
87
+ return await performSign(plainText, index)
88
+ }
89
+
90
+ /**
91
+ * 获取证书信息
92
+ * @param {string} dn 要验证的Dn
93
+ * @returns {Promise} - 解析后的证书信息
94
+ */
95
+ export function getCertInfo(dn) {
96
+ if (dn === undefined) {
97
+ dn = getDN()
98
+ }
99
+ if (!dn) {
100
+ Message.error('没有获取到签名参数DN!')
101
+ return false
102
+ }
103
+ return new Promise((resolve, reject) => {
104
+ let certInfo
105
+ IWSAGetAllCertsListInfo('infosec.sm2', 'Sign', 0, (dnList) => {
106
+ if (!dn) {
107
+ Message.error('没有获取到签名参数DN!')
108
+ reject()
109
+ }
110
+ if (!dnList) {
111
+ Message.error('没有获取到证书列表!')
112
+ reject()
113
+ }
114
+ if (dnList.length === 0) {
115
+ Message.error('用户证书信息与当前用户不匹配!')
116
+ reject()
117
+ }
118
+
119
+ certInfo = verifyDn(dnList, dn)
120
+ resolve(certInfo)
121
+ })
122
+ })
123
+ }
124
+
125
+ /**
126
+ * 执行签名函数
127
+ * @param {string} plain 要签名的明文
128
+ * @param index 签名的证书索引
129
+ * @returns {Promise<string>} 签名后的密文信息
130
+ */
131
+ export async function performSign(plain, index) {
132
+ let signMethod = IWSAAttachedSignAdvDefaultDN
133
+ if (window.NetSignMethod === 'Detached') {
134
+ signMethod = IWSADetachedSign
135
+ }
136
+ return new Promise((resolve, reject) => {
137
+ signMethod(2, plain, certIndex, 'SHA1', (errorCode, signedData) => {
138
+ if (errorCode === 0 || errorCode === '0') {
139
+ resolve(signedData)
140
+ } else {
141
+ Message.error('签名失败!')
142
+ reject(errorCode)
143
+ }
144
+ })
145
+ })
146
+ }
147
+
148
+ /**
149
+ * 验证Dn是否存在于Dn列表中
150
+ * @param {Array} dnList 获取到的Dn列表
151
+ * @param {string} dn 要验证的Dn
152
+ * @returns {number} - 如果找到匹配的 DN,则返回其在 dnList 中的索引;如果未找到,则返回 -1
153
+ */
154
+ function verifyDn(dnList, dn) {
155
+ let userDnAttrsArr = dn.split(',').map((c) => c.trim())
156
+ let index = -1
157
+ // 先过滤满足证书的条件
158
+ let dnListA = JSON.parse(JSON.stringify(dnList)).filter((C, i) => {
159
+ let dnAttrsArr = C.certDN.split(',').map((c) => c.trim())
160
+ if (dnAttrsArr.every((dnAttr) => userDnAttrsArr.includes(dnAttr))) {
161
+ C.index = i
162
+ return C
163
+ }
164
+ })
165
+ console.log(dnListA)
166
+ if (dnListA.length > 0) {
167
+ for (let i = 0; i < dnListA.length; i++) {
168
+ if (dnListA[i].CertType === 'SM2' && dnListA[i].KeyUsage === 'signature') {
169
+ index = dnListA[i].index
170
+ certIndex = dnListA[i].index
171
+ break
172
+ } else if (dnListA[i].CertType === 'RSA') {
173
+ index = dnListA[i].index
174
+ certIndex = dnListA[i].index
175
+ break
176
+ } else {
177
+ index = -1
178
+ }
179
+ }
180
+ }
181
+ if (index === -1) {
182
+ let dnListB = dnList?.map((res) => res.certDN)?.join(',')
183
+ Message.error(`证书Dn不匹配:${dnListB}里面无法匹配===>${dn}`)
184
+ return index
185
+ }
186
+ return index
187
+ }