You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2071 lines
48 KiB
2071 lines
48 KiB
9 months ago
|
/**
|
||
|
* Description: 通用Ukey的js接口
|
||
|
* Author: duanlang
|
||
|
* Version: V3.3.0
|
||
|
* Update: 20221017
|
||
|
*/
|
||
|
var jsversion = "3.3.0_S"
|
||
|
var initurl = "http://127.0.0.1:8090/do";
|
||
|
var keyType = 4;
|
||
|
var ppid = 0;//sm3 hash时默认id
|
||
|
// jQuery.support.cors=true;
|
||
|
if (isIE()&&isSSL()) {
|
||
|
initurl = "https://127.0.0.1:433/do";
|
||
|
//alert(initurl);
|
||
|
}
|
||
|
function isSSL() {
|
||
|
var url = window.location.href;
|
||
|
if (url.indexOf("https")!=-1) {
|
||
|
return true;
|
||
|
}
|
||
|
return false;
|
||
|
}
|
||
|
function isIE() {
|
||
|
var userAgent = navigator.userAgent;
|
||
|
//alert(userAgent);
|
||
|
var isIE = userAgent.indexOf("NET") > -1 && userAgent.indexOf("rv") > -1 ;
|
||
|
isIE = isIE || (userAgent.indexOf("MSIE") > -1);
|
||
|
return isIE;
|
||
|
}
|
||
|
|
||
|
var xmlhttp;
|
||
|
if(window.XMLHttpRequest)
|
||
|
{
|
||
|
xmlhttp=new XMLHttpRequest();
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
|
||
|
}
|
||
|
function batchHeader() {
|
||
|
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
|
||
|
if (isIE()&&isSSL()) {
|
||
|
xmlhttp.setRequestHeader("Access-Control-Allow-Origin","https://127.0.0.1:433");
|
||
|
}else{
|
||
|
xmlhttp.setRequestHeader("Access-Control-Allow-Origin","http://127.0.0.1:8090");
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
function encodeMessage(Message) {
|
||
|
var data = "";
|
||
|
for(var key in Message){
|
||
|
// alert(key + " " +Message[key]);
|
||
|
data=data+key+"="+Message[key]+"&";
|
||
|
}
|
||
|
data = data.substring(0,data.length -1);
|
||
|
return data;
|
||
|
}
|
||
|
function decodeMessage(Message,key) {
|
||
|
var data = JSON.parse(Message);
|
||
|
return data[key];
|
||
|
}
|
||
|
|
||
|
var SKFKEY = {
|
||
|
GetVersion : function() {
|
||
|
return jsversion;
|
||
|
},
|
||
|
|
||
|
SKF_EnumDev : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000004'
|
||
|
};
|
||
|
rawdata["flag"] = arguments[0];
|
||
|
if(arguments.length > 1){
|
||
|
if(arguments[1] != null && arguments[1] != "")
|
||
|
rawdata["provider"] = arguments[1];
|
||
|
}
|
||
|
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"NameList");
|
||
|
}else{
|
||
|
throw new Error("枚举失败,rev = " + data.rev);
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_ConnectDev : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000005'
|
||
|
};
|
||
|
rawdata["devName"] = arguments[0];
|
||
|
if(arguments.length > 1){
|
||
|
if(arguments[1] != null && arguments[1] != "")
|
||
|
rawdata["provider"] = arguments[1];
|
||
|
}
|
||
|
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"hDev");
|
||
|
}else{
|
||
|
throw new Error("连接失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_DisConnect : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000006'
|
||
|
};
|
||
|
rawdata["hDev"] = arguments[0];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"rev");
|
||
|
}else{
|
||
|
throw new Error("枚举失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_GetDevState : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000007'
|
||
|
};
|
||
|
rawdata["devName"] = arguments[0];
|
||
|
if(arguments.length > 1){
|
||
|
if(arguments[1] != null && arguments[1] != "")
|
||
|
rawdata["provider"] = arguments[1];
|
||
|
}
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"state");
|
||
|
}else{
|
||
|
throw new Error("枚举失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_SetLabel : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000008'
|
||
|
};
|
||
|
rawdata["hDev"] = arguments[0];
|
||
|
rawdata["Label"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"rev");
|
||
|
}else{
|
||
|
throw new Error("设置失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_GetDevInfo : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000009'
|
||
|
};
|
||
|
rawdata["hDev"] = arguments[0];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"devInfo");
|
||
|
}else{
|
||
|
throw new Error("设置失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_LockDev : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000010'
|
||
|
};
|
||
|
rawdata["hDev"] = arguments[0];
|
||
|
rawdata["timeOut"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"rev");
|
||
|
}else{
|
||
|
throw new Error("锁定失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_UnlockDev : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000011'
|
||
|
};
|
||
|
rawdata["hDev"] = arguments[0];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"rev");``
|
||
|
}else{
|
||
|
throw new Error("解锁失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_ChangeDevAuthKey : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000012'
|
||
|
};
|
||
|
rawdata["hDev"] = arguments[0];
|
||
|
rawdata["authKey"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"rev");
|
||
|
}else{
|
||
|
throw new Error("设置失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_DevAuth : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000013'
|
||
|
};
|
||
|
rawdata["hDev"] = arguments[0];
|
||
|
rawdata["authData"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"rev");
|
||
|
}else{
|
||
|
throw new Error("验证失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_ChangePIN : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000014'
|
||
|
};
|
||
|
rawdata["happ"] = arguments[0];
|
||
|
rawdata["pintype"] = arguments[1];
|
||
|
rawdata["oldPin"] = arguments[2];
|
||
|
rawdata["newPin"] = arguments[3];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"rev");
|
||
|
}else{
|
||
|
throw new Error("更改失败,count=" + decodeMessage(xmlhttp.responseText,"count")+",rev="+decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_GetPINInfo : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000015'
|
||
|
};
|
||
|
rawdata["happ"] = arguments[0];
|
||
|
rawdata["pintype"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"pininfo");
|
||
|
}else{
|
||
|
throw new Error("获取失败,rev=" + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_VerifyPIN : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000016'
|
||
|
};
|
||
|
rawdata["happ"] = arguments[0];
|
||
|
rawdata["pintype"] = arguments[1];
|
||
|
rawdata["pin"] = arguments[2];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"rev");
|
||
|
}else{
|
||
|
throw new Error("校验失败,count=" + decodeMessage(xmlhttp.responseText,"count")+",rev="+decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_UnblockPIN : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000017'
|
||
|
};
|
||
|
rawdata["happ"] = arguments[0];
|
||
|
rawdata["adminpin"] = arguments[1];
|
||
|
rawdata["usrpin"] = arguments[2];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"rev");
|
||
|
}else{
|
||
|
throw new Error("解锁失败,count=" + decodeMessage(xmlhttp.responseText,"count")+",rev="+decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_ClearSecureState : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000018'
|
||
|
};
|
||
|
rawdata["happ"] = arguments[0];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"rev");
|
||
|
}else{
|
||
|
throw new Error("清除安全状态失败,rev=" + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
|
||
|
SKF_CreateApplication : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000019'
|
||
|
};
|
||
|
rawdata["hDev"] = arguments[0];
|
||
|
rawdata["appname"] = arguments[1];
|
||
|
rawdata["adminPin"] = arguments[2];
|
||
|
rawdata["adminretry"] = arguments[3];
|
||
|
rawdata["usrPin"] = arguments[4];
|
||
|
rawdata["usrretry"] = arguments[5];
|
||
|
rawdata["fileright"] = arguments[6];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"hApp");
|
||
|
}else{
|
||
|
throw new Error("创建失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_EnumApplication : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000020'
|
||
|
};
|
||
|
rawdata["hDev"] = arguments[0];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"appList");
|
||
|
}else{
|
||
|
throw new Error("枚举失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_DeleteApplication : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000021'
|
||
|
};
|
||
|
rawdata["hDev"] = arguments[0];
|
||
|
rawdata["appname"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"rev");
|
||
|
}else{
|
||
|
throw new Error("删除失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_OpenApplication : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000022'
|
||
|
};
|
||
|
rawdata["hDev"] = arguments[0];
|
||
|
rawdata["appname"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"hApp");
|
||
|
}else{
|
||
|
throw new Error("打开失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_CloseApplication : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000023'
|
||
|
};
|
||
|
rawdata["happ"] = arguments[0];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"rev");
|
||
|
}else{
|
||
|
throw new Error("关闭失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_CreateFile : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000024'
|
||
|
};
|
||
|
rawdata["happ"] = arguments[0];
|
||
|
rawdata["filename"] = arguments[1];
|
||
|
rawdata["filesize"] = arguments[2];
|
||
|
rawdata["readright"] = arguments[3];
|
||
|
rawdata["writeright"] = arguments[4];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"rev");
|
||
|
}else{
|
||
|
throw new Error("创建文件失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_DeleteFile : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000025'
|
||
|
};
|
||
|
rawdata["happ"] = arguments[0];
|
||
|
rawdata["filename"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"rev");
|
||
|
}else{
|
||
|
throw new Error("删除文件失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_EnumFiles : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000026'
|
||
|
};
|
||
|
rawdata["happ"] = arguments[0];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"fileList");
|
||
|
}else{
|
||
|
throw new Error("文件枚举失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_GetFileInfo : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000027'
|
||
|
};
|
||
|
rawdata["happ"] = arguments[0];
|
||
|
rawdata["filename"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"fileInfo");
|
||
|
}else{
|
||
|
throw new Error("获取文件信息失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_ReadFile : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000028'
|
||
|
};
|
||
|
rawdata["happ"] = arguments[0];
|
||
|
rawdata["filename"] = arguments[1];
|
||
|
rawdata["offset"] = arguments[2];
|
||
|
rawdata["size"] = arguments[3];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"outData");
|
||
|
}else{
|
||
|
throw new Error("读取文件数据失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_WriteFile : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000029'
|
||
|
};
|
||
|
rawdata["happ"] = arguments[0];
|
||
|
rawdata["filename"] = arguments[1];
|
||
|
rawdata["offset"] = arguments[2];
|
||
|
rawdata["size"] = arguments[3];
|
||
|
rawdata["data"] = arguments[4];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"rev");
|
||
|
}else{
|
||
|
throw new Error("写入文件数据失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_CreateContainer : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000030'
|
||
|
};
|
||
|
rawdata["happ"] = arguments[0];
|
||
|
rawdata["conName"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"hCon");
|
||
|
}else{
|
||
|
throw new Error("创建容器失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_DeleteContainer : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000031'
|
||
|
};
|
||
|
rawdata["happ"] = arguments[0];
|
||
|
rawdata["conName"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"rev");
|
||
|
}else{
|
||
|
throw new Error("删除容器失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_OpenContainer : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000032'
|
||
|
};
|
||
|
rawdata["happ"] = arguments[0];
|
||
|
rawdata["conName"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"hCon");
|
||
|
}else{
|
||
|
throw new Error("打开容器失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_CloseContainer : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000033'
|
||
|
};
|
||
|
rawdata["hCon"] = arguments[0];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"rev");
|
||
|
}else{
|
||
|
throw new Error("关闭容器失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_EnumContainer : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000034'
|
||
|
};
|
||
|
rawdata["happ"] = arguments[0];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"conList");
|
||
|
}else{
|
||
|
throw new Error("枚举容器失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_GetContainerType : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000035'
|
||
|
};
|
||
|
rawdata["hCon"] = arguments[0];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"conType");
|
||
|
}else{
|
||
|
throw new Error("获取容器类型失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_ImportCertificate : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000036'
|
||
|
};
|
||
|
rawdata["hCon"] = arguments[0];
|
||
|
rawdata["flag"] = arguments[1];
|
||
|
rawdata["cert"] = arguments[2];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"rev");
|
||
|
}else{
|
||
|
throw new Error("导入证书失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_ExportCertificate : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000037'
|
||
|
};
|
||
|
rawdata["hCon"] = arguments[0];
|
||
|
rawdata["flag"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"outData");
|
||
|
}else{
|
||
|
throw new Error("导出证书失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_GenRandom : function(hDev, len) {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000038'
|
||
|
};
|
||
|
rawdata["hDev"] = arguments[0];
|
||
|
rawdata["randomLen"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"ranData");
|
||
|
}else{
|
||
|
throw new Error("生成失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_GenExtRSAKey : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000039'
|
||
|
};
|
||
|
rawdata["hDev"] = arguments[0];
|
||
|
rawdata["bitsLen"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"priKey");
|
||
|
}else{
|
||
|
throw new Error("生成失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_GenRSAKeyPair : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000040'
|
||
|
};
|
||
|
rawdata["hCon"] = arguments[0];
|
||
|
rawdata["bitsLen"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"pubKey");
|
||
|
}else{
|
||
|
throw new Error("生成失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_ImportRSAKeyPair : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000041'
|
||
|
};
|
||
|
rawdata["hCon"] = arguments[0];
|
||
|
rawdata["SymAlg"] = arguments[1];
|
||
|
rawdata["warppedKey"] = arguments[2];
|
||
|
rawdata["encryptedData"] = arguments[3];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"pubKey");
|
||
|
}else{
|
||
|
throw new Error("导入失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_RSASignData : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000042'
|
||
|
};
|
||
|
rawdata["hCon"] = arguments[0];
|
||
|
rawdata["inData"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"signData");
|
||
|
}else{
|
||
|
throw new Error("签名失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_RSAVerify : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000043'
|
||
|
};
|
||
|
rawdata["hDev"] = arguments[0];
|
||
|
rawdata["pubKey"] = arguments[1];
|
||
|
rawdata["inData"] = arguments[2];
|
||
|
rawdata["signData"] = arguments[3];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"rev");
|
||
|
}else{
|
||
|
throw new Error("验签失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_RSAExportSessionKey : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000044'
|
||
|
};
|
||
|
rawdata["hCon"] = arguments[0];
|
||
|
rawdata["alg"] = arguments[1];
|
||
|
rawdata["pubkey"] = arguments[2];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"data");
|
||
|
}else{
|
||
|
throw new Error("生成会话密钥失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_ExtRSAPubKeyOperation : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000045'
|
||
|
};
|
||
|
rawdata["hDev"] = arguments[0];
|
||
|
rawdata["pubKey"] = arguments[1];
|
||
|
rawdata["inData"] = arguments[2];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"outData");
|
||
|
}else{
|
||
|
throw new Error("公钥运算失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_ExtRSAPriKeyOperation : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000046'
|
||
|
};
|
||
|
rawdata["hDev"] = arguments[0];
|
||
|
rawdata["priKey"] = arguments[1];
|
||
|
rawdata["inData"] = arguments[2];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"outData");
|
||
|
}else{
|
||
|
throw new Error("私钥运算失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_GenECCKeyPair : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000048'
|
||
|
};
|
||
|
rawdata["hCon"] = arguments[0];
|
||
|
rawdata["alg"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"pubKey");
|
||
|
}else{
|
||
|
throw new Error("生成失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_GenExtECCKey : function() {//暂不支持
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000049'
|
||
|
};
|
||
|
rawdata["hCon"] = arguments[0];
|
||
|
rawdata["alg"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
// xmlhttp.open("post",initurl,false);
|
||
|
// xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
|
||
|
// xmlhttp.send(data);
|
||
|
|
||
|
// if(xmlhttp.status==200){
|
||
|
// if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
// result = decodeMessage(xmlhttp.responseText,"pubKey");
|
||
|
// }else{
|
||
|
// throw new Error("生成失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
// }
|
||
|
// }
|
||
|
// else{
|
||
|
// throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
// }
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_ImportECCKeyPair : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000050'
|
||
|
};
|
||
|
rawdata["hCon"] = arguments[0];
|
||
|
rawdata["envelopedKey"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"rev");
|
||
|
}else{
|
||
|
throw new Error("导入失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_ECCSignData : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000051'
|
||
|
};
|
||
|
rawdata["hCon"] = arguments[0];
|
||
|
rawdata["inData"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"signData");
|
||
|
}else{
|
||
|
throw new Error("签名失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_ECCVerify : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000052'
|
||
|
};
|
||
|
rawdata["hCon"] = arguments[0];
|
||
|
rawdata["pubKey"] = arguments[1];
|
||
|
rawdata["inData"] = arguments[2];
|
||
|
rawdata["signData"] = arguments[3];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"rev");
|
||
|
}else{
|
||
|
throw new Error("验签失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_ECCExportSessionKey : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000053'
|
||
|
};
|
||
|
rawdata["hCon"] = arguments[0];
|
||
|
rawdata["alg"] = arguments[1];
|
||
|
rawdata["pubKey"] = arguments[2];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"data");
|
||
|
}else{
|
||
|
throw new Error("导出会话密钥失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_ExtECCEncrypt : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000054'
|
||
|
};
|
||
|
rawdata["hDev"] = arguments[0];
|
||
|
rawdata["pubKey"] = arguments[1];
|
||
|
rawdata["inData"] = arguments[2];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"cipher");
|
||
|
}else{
|
||
|
throw new Error("外部加密失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_ExtECCDecrypt : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000055'
|
||
|
};
|
||
|
rawdata["hDev"] = arguments[0];
|
||
|
rawdata["priKey"] = arguments[1];
|
||
|
rawdata["cipher"] = arguments[2];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"outData");
|
||
|
}else{
|
||
|
throw new Error("外部解密失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_ExtECCSign : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000057'
|
||
|
};
|
||
|
rawdata["hDev"] = arguments[0];
|
||
|
rawdata["priKey"] = arguments[1];
|
||
|
rawdata["inData"] = arguments[2];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"signData");
|
||
|
}else{
|
||
|
throw new Error("外部签名失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_ExtECCVerify : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000058'
|
||
|
};
|
||
|
rawdata["hDev"] = arguments[0];
|
||
|
rawdata["pubKey"] = arguments[1];
|
||
|
rawdata["inData"] = arguments[2];
|
||
|
rawdata["signData"] = arguments[3];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"rev");
|
||
|
}else{
|
||
|
throw new Error("外部签名失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_ExportPublicKey : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000062'
|
||
|
};
|
||
|
rawdata["hCon"] = arguments[0];
|
||
|
rawdata["signFlag"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"keyData");
|
||
|
}else{
|
||
|
throw new Error("导出公钥失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_ImportSessionKey : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000063'
|
||
|
};
|
||
|
rawdata["hCon"] = arguments[0];
|
||
|
rawdata["alg"] = arguments[1];
|
||
|
rawdata["wrapedData"] = arguments[2];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"phKey");
|
||
|
}else{
|
||
|
throw new Error("导入会话密钥失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_SetSymmKey : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000064'
|
||
|
};
|
||
|
rawdata["hDev"] = arguments[0];
|
||
|
rawdata["symkey"] = arguments[1];
|
||
|
rawdata["symalg"] = arguments[2];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"phKey");
|
||
|
}else{
|
||
|
throw new Error("设置会话密钥失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_EncryptInit : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000065'
|
||
|
};
|
||
|
rawdata["hkey"] = arguments[0];
|
||
|
rawdata["iv"] = arguments[1];
|
||
|
rawdata["padding"] = arguments[2];
|
||
|
rawdata["feedbitlen"] = arguments[3];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"rev");
|
||
|
}else{
|
||
|
throw new Error("初始化加密失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_Encrypt : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000066'
|
||
|
};
|
||
|
rawdata["hkey"] = arguments[0];
|
||
|
rawdata["data"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"encData");
|
||
|
}else{
|
||
|
throw new Error("加密失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_EncryptUpdate : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000067'
|
||
|
};
|
||
|
rawdata["hkey"] = arguments[0];
|
||
|
rawdata["data"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"encData");
|
||
|
}else{
|
||
|
throw new Error("多包加密失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_EncryptFinal : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000068'
|
||
|
};
|
||
|
rawdata["hkey"] = arguments[0];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"encData");
|
||
|
}else{
|
||
|
throw new Error("结束多包加密失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_DecryptInit : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000069'
|
||
|
};
|
||
|
rawdata["hkey"] = arguments[0];
|
||
|
rawdata["iv"] = arguments[1];
|
||
|
rawdata["padding"] = arguments[2];
|
||
|
rawdata["feedbitlen"] = arguments[3];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"rev");
|
||
|
}else{
|
||
|
throw new Error("生成失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_Decrypt : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000070'
|
||
|
};
|
||
|
rawdata["hkey"] = arguments[0];
|
||
|
rawdata["data"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"decData");
|
||
|
}else{
|
||
|
throw new Error("加密失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_DecryptUpdate : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000071'
|
||
|
};
|
||
|
rawdata["hkey"] = arguments[0];
|
||
|
rawdata["data"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"decData");
|
||
|
}else{
|
||
|
throw new Error("多包加密失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_DecryptFinal : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000072'
|
||
|
};
|
||
|
rawdata["hkey"] = arguments[0];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"decData");
|
||
|
}else{
|
||
|
throw new Error("结束多包加密失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_DigestInit : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000073'
|
||
|
};
|
||
|
rawdata["hDev"] = arguments[0];
|
||
|
rawdata["alg"] = arguments[1];
|
||
|
rawdata["pubkey"] = arguments[2];
|
||
|
rawdata["id"] = arguments[3];
|
||
|
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"hHash");
|
||
|
}else{
|
||
|
throw new Error("初始化杂凑失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_Digest : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000074'
|
||
|
};
|
||
|
rawdata["hHash"] = arguments[0];
|
||
|
rawdata["inData"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"hashData");
|
||
|
}else{
|
||
|
throw new Error("单包杂凑失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_DigestUpdate : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000075'
|
||
|
};
|
||
|
rawdata["hHash"] = arguments[0];
|
||
|
rawdata["inData"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"rev");
|
||
|
}else{
|
||
|
throw new Error("多包杂凑失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_DigestFinal : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000076'
|
||
|
};
|
||
|
rawdata["hHash"] = arguments[0];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"hashData");
|
||
|
}else{
|
||
|
throw new Error("多包杂凑结束失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_MacInit : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000077'
|
||
|
};
|
||
|
rawdata["hkey"] = arguments[0];
|
||
|
rawdata["iv"] = arguments[1];
|
||
|
rawdata["padding"] = arguments[2];
|
||
|
rawdata["feedbitlen"] = arguments[3];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"hMac");
|
||
|
}else{
|
||
|
throw new Error("初始化MAC失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_Mac : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000078'
|
||
|
};
|
||
|
rawdata["hMac"] = arguments[0];
|
||
|
rawdata["iData"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"macData");
|
||
|
}else{
|
||
|
throw new Error("单包MAC失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_MacUpdate : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000079'
|
||
|
};
|
||
|
rawdata["hMac"] = arguments[0];
|
||
|
rawdata["iData"] = arguments[1];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"rev");
|
||
|
}else{
|
||
|
throw new Error("多包MAC失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_MacFinal : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000080'
|
||
|
};
|
||
|
rawdata["hMac"] = arguments[0];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"macData");
|
||
|
}else{
|
||
|
throw new Error("多包MAC结束失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
},
|
||
|
|
||
|
SKF_CloseHandle : function() {
|
||
|
var result = null;
|
||
|
var rawdata = {
|
||
|
"order":'02000081'
|
||
|
};
|
||
|
rawdata["hKey"] = arguments[0];
|
||
|
var data = encodeMessage(rawdata);
|
||
|
|
||
|
xmlhttp.open("post",initurl,false);
|
||
|
batchHeader();
|
||
|
xmlhttp.send(data);
|
||
|
|
||
|
if(xmlhttp.status==200){
|
||
|
if(decodeMessage(xmlhttp.responseText,"rev")==0){
|
||
|
result = decodeMessage(xmlhttp.responseText,"rev");
|
||
|
}else{
|
||
|
throw new Error("关闭句柄失败,rev = " + decodeMessage(xmlhttp.responseText,"rev"));
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
throw new Error("http 失败,http status = " + xmlhttp.status);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
}
|
||
|
}
|