n20-common-lib 2.13.0 → 2.13.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -13,11 +13,19 @@ export default {
|
|
|
13
13
|
path: './sign.js',
|
|
14
14
|
needAvailable: true
|
|
15
15
|
},
|
|
16
|
+
// 信安3.0sdk
|
|
17
|
+
signV3: {
|
|
18
|
+
name: '信安CA',
|
|
19
|
+
type: 'inetSign',
|
|
20
|
+
supplier: 'inetSign',
|
|
21
|
+
path: './signV3/sign.js',
|
|
22
|
+
needAvailable: true
|
|
23
|
+
},
|
|
16
24
|
bjcaSign: {
|
|
17
25
|
name: '北京CA',
|
|
18
26
|
type: 'bjcaSign',
|
|
19
27
|
supplier: 'bjca',
|
|
20
|
-
path: './bjca/index.js'
|
|
28
|
+
path: './bjca/index.js'
|
|
21
29
|
},
|
|
22
30
|
ItrusSign: {
|
|
23
31
|
name: '天威CA',
|
|
@@ -77,8 +77,11 @@ export async function getSign(p1, p2, p3) {
|
|
|
77
77
|
if (!signType || !CaMap[signType]) {
|
|
78
78
|
throw new Error('请设置签名服务公司sessionStorage.signType')
|
|
79
79
|
}
|
|
80
|
-
|
|
81
|
-
|
|
80
|
+
if (window.NetSignName === 'signV3') {
|
|
81
|
+
return await disposeSign(CaMap['signV3'], p1, p2, p3)
|
|
82
|
+
} else {
|
|
83
|
+
return await disposeSign(CaMap[signType], p1, p2, p3)
|
|
84
|
+
}
|
|
82
85
|
}
|
|
83
86
|
|
|
84
87
|
/**
|
|
@@ -91,11 +94,22 @@ export function getCert(dn) {
|
|
|
91
94
|
console.log('signType', signType)
|
|
92
95
|
return new Promise((resolve, reject) => {
|
|
93
96
|
if (signType === 'inetSign' /* 信安CA */) {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
+
// 是否使用3.0版本sdk (默认使用2.0版本)
|
|
98
|
+
if (window.NetSignName === 'signV3') {
|
|
99
|
+
importG('inetSign', () => import(/*webpackChunkName: "inetSign"*/ './signV3/sign.js')).then(
|
|
100
|
+
({ getCertInfo }) => {
|
|
101
|
+
getCertInfo(dn).then((res) => {
|
|
102
|
+
resolve(res)
|
|
103
|
+
})
|
|
104
|
+
}
|
|
105
|
+
)
|
|
106
|
+
} else {
|
|
107
|
+
importG('inetSign', () => import(/*webpackChunkName: "inetSign"*/ './sign.js')).then(({ getCertInfo }) => {
|
|
108
|
+
getCertInfo(dn).then((res) => {
|
|
109
|
+
resolve(res)
|
|
110
|
+
})
|
|
97
111
|
})
|
|
98
|
-
}
|
|
112
|
+
}
|
|
99
113
|
} else if (signType === 'SkfSign') {
|
|
100
114
|
importG('SkfSign', () => import(/*webpackChunkName: "SkfSign"*/ './SkfSign/index.js')).then(({ getCertInfo }) => {
|
|
101
115
|
getCertInfo(dn).then((res) => {
|
|
@@ -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,175 @@
|
|
|
1
|
+
// Attached方式签名
|
|
2
|
+
import { Message, Notification } from 'element-ui'
|
|
3
|
+
import { IWSAgent } from './InfosecNetSignCNGAgent.min.js'
|
|
4
|
+
|
|
5
|
+
const {
|
|
6
|
+
IWSASetTimeOut,
|
|
7
|
+
IWSAAttachedSignAdvDefaultDN,
|
|
8
|
+
IWSADetachedSignAdvDefaultDN,
|
|
9
|
+
IWSAAttachedVerify,
|
|
10
|
+
IWSASendAvailable,
|
|
11
|
+
IWSAGetAvailable,
|
|
12
|
+
IWSAGetAllCertsListInfo
|
|
13
|
+
} = new IWSAgent()
|
|
14
|
+
IWSASetTimeOut(6000)
|
|
15
|
+
let certDN = ''
|
|
16
|
+
function getDN() {
|
|
17
|
+
let dn
|
|
18
|
+
let userInfo = JSON.parse(sessionStorage.getItem('userInfo'))
|
|
19
|
+
if (userInfo && userInfo.dn) {
|
|
20
|
+
dn = userInfo.dn
|
|
21
|
+
}
|
|
22
|
+
return dn
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/* 检测本地签名端口是否可用 */
|
|
26
|
+
export function availableSign(fn, url) {
|
|
27
|
+
let available = IWSAGetAvailable()
|
|
28
|
+
if (available) {
|
|
29
|
+
fn && fn(available)
|
|
30
|
+
} else {
|
|
31
|
+
IWSASendAvailable()
|
|
32
|
+
let count = 0
|
|
33
|
+
checkAvailable(fn, url, count)
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function checkAvailable(fn, url, count) {
|
|
38
|
+
let name = window.NetSignDownloadName || 'NetSignCNG签名助手'
|
|
39
|
+
let available = IWSAGetAvailable()
|
|
40
|
+
if (available) {
|
|
41
|
+
fn && fn(available)
|
|
42
|
+
} else if (count == 10) {
|
|
43
|
+
fn && fn(available)
|
|
44
|
+
Notification({
|
|
45
|
+
title: '提示',
|
|
46
|
+
dangerouslyUseHTMLString: true,
|
|
47
|
+
message: `<div>检测到您的电脑中没有安装签名助手,为了不影响使用请使用管理员权限<a class="color-primary" href="${url}" download>下载安装</a>${name}</div>`,
|
|
48
|
+
duration: 5000
|
|
49
|
+
})
|
|
50
|
+
} else {
|
|
51
|
+
count++
|
|
52
|
+
setTimeout(() => {
|
|
53
|
+
checkAvailable(fn, url, count)
|
|
54
|
+
}, 200)
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* 签名解签函数
|
|
60
|
+
* @param {string} signedMsg 要解签的密文
|
|
61
|
+
* @returns {string} 解签后的明文
|
|
62
|
+
*/
|
|
63
|
+
export function verifySign(signedMsg) {
|
|
64
|
+
let plainText
|
|
65
|
+
IWSAAttachedVerify('1', signedMsg, (errorCode, PlainText) => {
|
|
66
|
+
if (errorCode === 0 || errorCode === '0') {
|
|
67
|
+
plainText = PlainText
|
|
68
|
+
} else {
|
|
69
|
+
Message.error('签名解签失败!')
|
|
70
|
+
}
|
|
71
|
+
})
|
|
72
|
+
return plainText
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* 签名函数
|
|
77
|
+
* @param {string} plain 要签名的明文
|
|
78
|
+
* @param {string} dn 用户对应的Dn
|
|
79
|
+
* @returns {Promise<string>} 签名后的密文信息
|
|
80
|
+
*/
|
|
81
|
+
export async function getSign(plain, dn) {
|
|
82
|
+
let index = await getCertInfo(dn)
|
|
83
|
+
if (index === -1) return
|
|
84
|
+
let plainText = typeof plain === 'object' ? JSON.stringify(plain) : plain
|
|
85
|
+
|
|
86
|
+
return await performSign(plainText, index)
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* 获取证书信息
|
|
91
|
+
* @param {string} dn 要验证的Dn
|
|
92
|
+
* @returns {Promise} - 解析后的证书信息
|
|
93
|
+
*/
|
|
94
|
+
export function getCertInfo(dn) {
|
|
95
|
+
if (dn === undefined) {
|
|
96
|
+
dn = getDN()
|
|
97
|
+
}
|
|
98
|
+
if (!dn) {
|
|
99
|
+
Message.error('没有获取到签名参数DN!')
|
|
100
|
+
return false
|
|
101
|
+
}
|
|
102
|
+
return new Promise((resolve, reject) => {
|
|
103
|
+
let certInfo
|
|
104
|
+
IWSAGetAllCertsListInfo('infosec.sm2', 'Sign', 2, (dnList) => {
|
|
105
|
+
if (!dn) {
|
|
106
|
+
Message.error('没有获取到签名参数DN!')
|
|
107
|
+
reject()
|
|
108
|
+
}
|
|
109
|
+
if (!dnList) {
|
|
110
|
+
Message.error('没有获取到证书列表!')
|
|
111
|
+
reject()
|
|
112
|
+
}
|
|
113
|
+
if (dnList.length === 0) {
|
|
114
|
+
Message.error('获取到的证书列表为空!')
|
|
115
|
+
reject()
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
certInfo = verifyDn(dnList, dn)
|
|
119
|
+
resolve(certInfo)
|
|
120
|
+
})
|
|
121
|
+
})
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* 执行签名函数
|
|
126
|
+
* @param {string} plain 要签名的明文
|
|
127
|
+
* @param index 签名的证书索引
|
|
128
|
+
* @returns {Promise<string>} 签名后的密文信息
|
|
129
|
+
*/
|
|
130
|
+
export async function performSign(plain, index) {
|
|
131
|
+
let signMethod = IWSAAttachedSignAdvDefaultDN
|
|
132
|
+
if (window.NetSignMethod === 'Detached') {
|
|
133
|
+
signMethod = IWSADetachedSignAdvDefaultDN
|
|
134
|
+
}
|
|
135
|
+
return new Promise((resolve, reject) => {
|
|
136
|
+
signMethod(plain, 'infosec.sm2', 4, certDN, '1', 'SHA1', (errorCode, signedData) => {
|
|
137
|
+
if (errorCode === 0 || errorCode === '0') {
|
|
138
|
+
resolve(signedData)
|
|
139
|
+
} else {
|
|
140
|
+
Message.error('签名失败!')
|
|
141
|
+
reject(errorCode)
|
|
142
|
+
}
|
|
143
|
+
})
|
|
144
|
+
})
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* 验证Dn是否存在于Dn列表中
|
|
149
|
+
* @param {Array} dnList 获取到的Dn列表
|
|
150
|
+
* @param {string} dn 要验证的Dn
|
|
151
|
+
* @returns {number} - 如果找到匹配的 DN,则返回其在 dnList 中的索引;如果未找到,则返回 -1
|
|
152
|
+
*/
|
|
153
|
+
function verifyDn(dnList, dn) {
|
|
154
|
+
let userDnAttrsArr = dn.split(',').map((c) => c.trim())
|
|
155
|
+
|
|
156
|
+
let index = -1
|
|
157
|
+
dnList.find((C, i) => {
|
|
158
|
+
let dnAttrsArr = C.certDN.split(',').map((c) => c.trim())
|
|
159
|
+
if (dnAttrsArr.every((dnAttr) => userDnAttrsArr.includes(dnAttr))) {
|
|
160
|
+
index = i
|
|
161
|
+
certDN = C.certDN // 保存证书DN到全局变量中 =
|
|
162
|
+
return true
|
|
163
|
+
}
|
|
164
|
+
})
|
|
165
|
+
if (index === -1) {
|
|
166
|
+
let dnList = dnList?.map((res) => res.certDN)?.join(',')
|
|
167
|
+
Message({
|
|
168
|
+
type: 'error',
|
|
169
|
+
text: `证书Dn不匹配:${dnList}里面无法匹配===>${dn}`,
|
|
170
|
+
duration: 5000
|
|
171
|
+
})
|
|
172
|
+
return index
|
|
173
|
+
}
|
|
174
|
+
return index
|
|
175
|
+
}
|