1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185 |
- /*
- NetcaWebsocket 模块(V1.3.0)
- 该模块主要提供核心实现和基础的PKI接口,对外入口为NetcaPKI。通过NetcaPKI.xx调用接口
- netca_系列函数为旧的封装函数。
- 版本 V1.0.0
- 封装了Webscoket连接过程, 模拟 Promise 来处理异步调用过程
- 支持 signeddata签名, 数字信封 ,签章,非对称加解密接口
- 版本 V1.2.0 2018-09-18
- 增加PKCS#1签名验证接口 Sign 和 VerifySignature
- 版本 V1.3.0 2019-05-07
- 优化判断连接判断接口时间
- 版本 V1.4.0 2019-11-01
- 增加显示证书信息UI的接口
- 版本 V1.5.0 2020-03-03
- 增加获取SignedData属性信息的接口
- 2021-04-30 修改显示调用中间件捕获的异常
- */
- var NetcaPKI = (function () {
- "use strict";
- var PKIObject = {};
- var _PkiMgr = null;
- function easyPromise() {
- this.succesCallBack = function (res) {};
- this.failCallBack = function (res) {};
- };
- easyPromise.prototype.Then = function (fun) {
- this.successCallBack = fun;
- return this;
- }
- easyPromise.prototype.Catch = function (fun) {
- this.failCallBack = fun;
- return this;
- }
- function easySynPromise() {
- this.succesCallBackMessage = null;
- this.failCallBackMessage = null;
- };
- easySynPromise.prototype.Then = function (fun) {
- if (fun != null && this.failCallBackMessage == null)
- fun(this.succesCallBackMessage);
- return this;
- }
- easySynPromise.prototype.Catch = function (fun) {
- if (fun != null && this.failCallBackMessage != null)
- fun(this.failCallBackMessage);
- return this;
- }
- easySynPromise.prototype.FireEvent = function (successmsg, errormsg) {
- this.succesCallBackMessage = successmsg;
- this.failCallBackMessage = errormsg;
- }
- function WebSocketManager() {
- //原生的wsObj对象
- this._wsObj = null;
- this._tryConnectIndex = 0;
- this._registerFunctionPromiseMap = {};
- this._tryConnectList = new Array();;
- this._requestIdIndex = 0;
- this._isWsConnecting=false;
- }
- WebSocketManager.prototype.RegisterPromise = function (promiseObj, params) {
- var messageItem = {};
- var curRequest = ++this._requestIdIndex;
- messageItem.requestId = curRequest;
- messageItem.promiseCallBack = promiseObj;
- messageItem.params = params;
- this._registerFunctionPromiseMap[curRequest] = messageItem;
- //生成请求的数据
- var sendData = JSON.stringify({
- "requestVersion": 1,
- "requestOrigin": "45B45638-A006-4cf1-A298-816B376D867E",
- "requestId": curRequest,
- "requestQuery": params
- });
- return sendData;
- }
- WebSocketManager.prototype.GetValidConnectURL = function () {
- for (var i in this._tryConnectList) {
- var connectInfoItem = this._tryConnectList[i];
- //表示能够连接成功
- if (connectInfoItem.canConnect == 1) {
- return connectInfoItem;
- }
- }
- //没有可成功的连接,继续下个索引处理
- if (this._tryConnectIndex >= this._tryConnectList.length) {
- return null;
- } else {
- return this._tryConnectList[this._tryConnectIndex++];
- }
- }
- WebSocketManager.prototype.AddConnectObject = function (obj) {
- this._tryConnectList.push(obj);
- }
- WebSocketManager.prototype.ProcessSuccessMessageCallBack = function (message) {
- //判断是否正常数据
- try {
- var obj = JSON.parse(message);
- if (obj.requestId != null) {
- var messageItem = this._registerFunctionPromiseMap[obj.requestId];
- if (messageItem == null) {
- //没有办法定位是哪个实例,只是默认不处理该信息
- alert("调用证书服务发生异常" + e.message);
- console.log(e + "_registerFunctionPromiseMap Fail ");
- } else {
- if (obj.responseResult.status == 0) {
- if (messageItem.promiseCallBack.successCallBack != null) {
- try
- {
- messageItem.promiseCallBack.successCallBack(obj.responseEntity);
- }
- catch (e)
- {
- if(e.fileName){
- // firefox
- alert("错误文件:"+e.fileName+"; 行数:"+e.lineNumber+"; 错误类型:"+e.name+"; 错误信息:"+e.message);
- } else {
- // chrome
- alert(e.message);
- }
- // 打印 成功回调捕获到的异常
- console.log(e.stack);
- }
- }
- } else {
- if (messageItem.promiseCallBack.failCallBack != null) {
- try
- {
- messageItem.promiseCallBack.failCallBack(obj.responseResult);
- }
- catch (e)
- {
- if(e.fileName){
- // firefox
- alert("错误文件:"+e.fileName+"; 行数:"+e.lineNumber+"; 错误类型:"+e.name+"; 错误信息:"+e.message);
- } else {
- // chrome
- alert(e.message);
- }
- // 打印 失败回调捕获到的异常
- console.log(e.stack);
- }
- }
- }
- }
- }
- } catch (e) {
- //没有办法定位是哪个实例,只是默认不处理该信息
- alert("调用中间件服务发生异常" + e.message);
- // 打印调用中间件服务发生的异常
- console.log(e.stack);
- }
- }
- WebSocketManager.prototype.ProcessServiceConnectFailCallBack = function (jsonMessage, addMsg)
- {
- if (addMsg==null||addMsg=="")
- {
- addMsg="数字证书服务连接失败,请确认已安装最新的数字证书驱动!";
- }
- try {
- var obj = JSON.parse(jsonMessage);
- var NETCA_ERROR_WEBSOCKETCONNECTFAIL=-11000;
- var responseResult={};
- responseResult.status=NETCA_ERROR_WEBSOCKETCONNECTFAIL;
- responseResult.msg=addMsg;
- var retData = JSON.stringify({
- "requestVersion": obj.requestVersion,
- "requestOrigin": obj.requestOrigin,
- "requestId": obj.requestId,
- "responseResult": responseResult
- });
- this.ProcessSuccessMessageCallBack(retData);
- } catch (e) {
- alert(addMsg);
- }
- }
- //调用一次获取处理数据发送一次
- WebSocketManager.prototype.WebSocketDoSend = function (jsonMessage) {
- var selfObject = this;
- //使用了单进程处理方式
- //这里不能够使用多个连接对象
- //由于异步的处理,存在连接服务未完成,重复进入这个流程,导致WS报连接中的错误
- //这里应用设置了判断是否连接状态处理
- if(selfObject._wsObj != null&&selfObject._isWsConnecting)
- {
- selfObject.ProcessServiceConnectFailCallBack(jsonMessage,"数字证书服务连接中,请稍后重试!");
- //alert("数字证书服务连接中,请稍后重试!");
- return;
- }
- if (selfObject._wsObj != null && selfObject._wsObj.readyState == 1) {
- selfObject._wsObj.send(jsonMessage);
- } else {
- var connectInfoItem = this.GetValidConnectURL();
- if (connectInfoItem == null) {
- selfObject._tryConnectIndex = 0;
- selfObject.ProcessServiceConnectFailCallBack(jsonMessage,"数字证书服务连接失败,请确认已安装最新的数字证书驱动!");
- // alert("数字证书服务连接失败,请确认已安装最新的数字证书驱动!");
- return;
- }
- //初始化连接服务的数据
- var connectConfig = {};
- connectConfig.url = connectInfoItem.url;
- connectConfig.subprotocol = "crypto-jsonrpc-protocol";
- try {
- selfObject._wsObj = null;
- selfObject._isWsConnecting=true;
- //开始连接
- selfObject._wsObj = new WebSocket(connectConfig.url, connectConfig.subprotocol);
- selfObject._wsObj.onopen = function () {
- selfObject._isWsConnecting=false;
- //获取队列数据 发送数据
- connectInfoItem.canConnect = 1;
- if (selfObject._wsObj != null) {
- selfObject._wsObj.send(jsonMessage);
- }
- };
- selfObject._wsObj.onmessage = function (evt) {
- selfObject.ProcessSuccessMessageCallBack(evt.data);
- };
- selfObject._wsObj.onclose = function () {
- selfObject._isWsConnecting=false;
- };
- selfObject._wsObj.onerror = function () {
- //断开这个连接,重新连接、
- selfObject._isWsConnecting=false;
- if (selfObject._wsObj != null && selfObject._wsObj.readyState == 1) {
- selfObject._wsObj.close();
- selfObject._wsObj = null;
- } else {
- selfObject._wsObj = null;
- //连接不上 会进入这里 或者其他错误
- if (connectInfoItem.canConnect == 1) {
- selfObject._tryConnectIndex = 0;
- //todo 经发现有时候长连接会断开 这里弹框影响用户体验
- //alert("连接数字证书服务失败,请刷新页面重试!");
- selfObject.ProcessServiceConnectFailCallBack(jsonMessage,"数字证书服务连接中,请稍后重试!");
- } else { //其他地址连接试试
- selfObject.WebSocketDoSend(jsonMessage);
- }
- }
- };
- } catch (e) {
- selfObject._isWsConnecting=false;
- //这里连接失败一般就是服务访问不了或者安全拒绝
- console.log(e + "try to connect" + connectConfig._url);
- if (connectInfoItem.canConnect == 1) {
- selfObject._tryConnectIndex = 0;
- //todo 经发现有时候长连接会断开 这里弹框影响用户体验
- selfObject.ProcessServiceConnectFailCallBack(jsonMessage,"数字证书服务连接中,请稍后重试!");
- //alert("连接数字证书服务失败,请刷新页面重试!");
- } else { //其他地址连接试试
- selfObject.WebSocketDoSend(jsonMessage);
- }
- }
- }
- };
- WebSocketManager.prototype.ProcessSynMessageCallBack = function (message, synpromise) {
- //判断是否正常数据
- try {
- var obj = JSON.parse(message);
- if (obj.responseResult.status == 0) {
- synpromise.FireEvent(obj.responseEntity, null);
- } else {
- synpromise.FireEvent(null, obj.responseResult);
- }
- } catch (e) {
- //没有办法定位是哪个实例,只是默认不处理该信息
- obj = JSON.parse("{\"responseResult\": {\"status\":-1,\"msg\": \"响应的数据不是有效的JSON数据\"}}");
- // 打印调用中间件服务发生的异常
- console.log(e.stack);
- synpromise.FireEvent(null, obj.responseResult);
- }
- }
- WebSocketManager.prototype.SendRPCMessage = function (params) {
- var retPromise = new easyPromise();
- var sendMsg = this.RegisterPromise(retPromise, params);
- //如果不支持websocket 使用Com方式,只能IE使用,这里不判断是否IE
- if (IsUseWebsocket()) {
- this.WebSocketDoSend(sendMsg);
- return retPromise;
- } else {
- var comObj = null;
- var retSynPromise = new easySynPromise();
- try {
- comObj = new ActiveXObject("NetcaPki.Utilities");
- } catch (e) {
- var NETCA_ERROR_WEBSOCKETCONNECTFAIL=-11000;
- this.ProcessSynMessageCallBack(createSynCallBackJsonString("创建NetcaPki对象失败", NETCA_ERROR_WEBSOCKETCONNECTFAIL),retSynPromise);
- return retSynPromise;
- }
- var retString = "";
- //加载成功 调用接口
- try {
- retString = comObj.CryptoJsonRpcCallBack(sendMsg);
- } catch (e) {
- var exceptionStr="";
- if (-2146827850 == e.number) {
- //对象不支持此属性或方法
- exceptionStr="当前NETCA_Crypto版本可能过低,请确保版本正常";
- }
- else
- {
- exceptionStr="调用NetcaPki.Utilities接口异常";
- }
- var NETCA_ERROR_WEBSOCKETCONNECTFAIL=-11000;
- this.ProcessSynMessageCallBack(createSynCallBackJsonString(exceptionStr, NETCA_ERROR_WEBSOCKETCONNECTFAIL),retSynPromise);
- return retSynPromise;
- }
- this.ProcessSynMessageCallBack(retString, retSynPromise);
- return retSynPromise;
- }
- }
- function initializeObject(obj) {
- _PkiMgr = new WebSocketManager()
- //尝试列表
- var TryList = [
- "wss://127.0.0.1:10443",
- "wss://127.0.0.1:20443",
- ];
- for (var i in TryList) {
- var connectInfoItem = {};
- connectInfoItem.url = TryList[i];
- connectInfoItem.canConnect = 0;
- _PkiMgr.AddConnectObject(connectInfoItem);
- }
- }
- function SendNetcaCryptoJsonRpcMessage(params) {
- return _PkiMgr.SendRPCMessage(params);
- }
- function createSynCallBackJsonString(errorMsg,status)
- {
- var responseResult={};
- responseResult.status=status;
- responseResult.msg=errorMsg;
- var retData = JSON.stringify({
- "requestVersion": 1,
- "requestOrigin": "45B45638-A006-4cf1-A298-816B376D867E",
- "requestId": -1,
- "responseResult": responseResult
- });
- return retData;
- }
- //检测服务是否正常
- PKIObject.CheckLocalServerOk = function (params)
- {
- //使用GetVersion 来处理 如果使用IE低版本 调用COM组件了
- var requestQueryParams = {};
- requestQueryParams["function"] ="GetVersionInfo";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- //这个方法 兼容所有浏览器,但是IE版本可以精确判断是否安装了中间件
- //
- PKIObject.checkPKIInstall = function (params)
- {
- //如果是IE 使用COM方式类处理
- if (IsUseWebsocket())
- {
- //使用GetVersion 来处理 如果使用IE低版本 调用COM组件了
- var requestQueryParams = {};
- requestQueryParams["function"] ="GetVersionInfo";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- else
- {
- var retSynPromise = new easySynPromise();
- var requestQueryParams = {};
- requestQueryParams["function"] ="GetVersionInfo";
- requestQueryParams["param"] = params;
- var sendMsg = _PkiMgr.RegisterPromise(retSynPromise, requestQueryParams);
- var comObj = null;
- try {
- comObj = new ActiveXObject("NetcaPki.Utilities");
- } catch (e) {
- var NETCA_ERROR_WEBSOCKETCONNECTFAIL=-11000;
- _PkiMgr.ProcessSynMessageCallBack(createSynCallBackJsonString("数字证书服务连接失败(1),请确认已安装最新的数字证书驱动", NETCA_ERROR_WEBSOCKETCONNECTFAIL),retSynPromise);
- return retSynPromise;
- }
- //加载成功 调用接口
- try {
- var retString = comObj.CryptoJsonRpcCallBack(sendMsg);
- _PkiMgr.ProcessSynMessageCallBack(retString,retSynPromise);
- return retSynPromise;
- } catch (e) {
- var NETCA_ERROR_WEBSOCKETCONNECTFAIL=-11000;
- _PkiMgr.ProcessSynMessageCallBack(createSynCallBackJsonString("数字证书服务连接失败(2),请确认已安装最新的数字证书驱动", NETCA_ERROR_WEBSOCKETCONNECTFAIL),retSynPromise);
- return retSynPromise;
- }
- }
- }
- //判断当前浏览器是否为IE浏览器
- function IsIE() {
- var comObj = null;
- try{
- comObj = new ActiveXObject("NetcaPki.Utilities");
- return comObj != null;
- }catch(e){
- return false;
- }
- }
- //是否使用Websocket
- function IsUseWebsocket() {
- //是否支持Websocket而使用Websocket
- // if (typeof WebSocket != "undefined") {
- // return true;
- // } else {
- // return false;
- // }
- //非IE使用Websocket
- if(!IsIE()) {
- return true;
- } else {
- return false;
- }
- }
- //RSA 加解密模块
- PKIObject.publicKeyEncrypt = function (params) {
- var requestQueryParams = {};
- requestQueryParams["function"] = "PublicKeyEncrypt";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);;
- }
- PKIObject.privateKeyDecrypt = function (params) {
- var requestQueryParams = {};
- requestQueryParams["function"] = "PrivateKeyDecrypt";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);;
- }
- //SignedData 模块
- PKIObject.signedDataSign = function (params) {
- var requestQueryParams = {};
- requestQueryParams["function"] = "SignedDataSign";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);;
- }
- PKIObject.signedDataVerify = function (params) {
- var requestQueryParams = {};
- requestQueryParams["function"] = "SignedDataVerify";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);;
- }
- //数字信封 模块
- PKIObject.envelopedDataEncrypt = function (params) {
- var requestQueryParams = {};
- requestQueryParams["function"] = "EnvelopedDataEncrypt";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);;
- }
- PKIObject.envelopedDataDecrypt = function (params) {
- var requestQueryParams = {};
- requestQueryParams["function"] = "EnvelopedDataDecrypt";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);;
- }
- //PDFSign 模块
- PKIObject.pdfAutoSign = function (params) {
- var requestQueryParams = {};
- requestQueryParams["function"] = "PdfAutoSign";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);;
- }
- PKIObject.getCertStringAttribute = function(params){
- var requestQueryParams = {};
- requestQueryParams["function"] = "GetCertStringAttribute";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.isInsertKey = function(params){
- var requestQueryParams = {};
- requestQueryParams["function"] = "IsInsertKey";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.verifyKeyPwd = function(params){
- var requestQueryParams = {};
- requestQueryParams["function"] = "VerifyKeyPwd";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.getVersionInfo = function(params){
- var requestQueryParams = {};
- requestQueryParams["function"] ="GetVersionInfo";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.monitorDevice=function(params){
- var requestQueryParams = {};
- requestQueryParams["function"] ="MonitorDevice";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.getCertList=function(params){
- var requestQueryParams = {};
- requestQueryParams["function"] ="GetCertList";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.GetCertList = function (params) {
- return this.getCertList(params);
- }
- PKIObject.hashData=function(params){
- var requestQueryParams = {};
- requestQueryParams["function"] ="HashData";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.HashData = function (params) {
- return this.hashData(params);
- }
- PKIObject.getCertStringExtensionValue=function(params){
- var requestQueryParams = {};
- requestQueryParams["function"] ="GetCertStringExtensionValue";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.GetCertStringExtensionValue = function (params) {
- return this.getCertStringExtensionValue(params);
- }
- PKIObject.getClientVersionInfo = function(params){
- var requestQueryParams = {};
- requestQueryParams["function"] ="GetClientVersionInfo";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- //>=1.4.1版本
- PKIObject.sign = function (params) {
- var requestQueryParams = {};
- requestQueryParams["function"] = "Sign";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- //>=1.4.1版本
- PKIObject.verifySignature = function (params) {
- var requestQueryParams = {};
- requestQueryParams["function"] = "VerifySignature";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.GetVersion = function(params)
- {
- var requestQueryParams = {};
- requestQueryParams["appName"] = "SignatureCreator";
- requestQueryParams["function"] = "GetSealClientVersion";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- //>=1.4.1版本
- PKIObject.verifySignature = function (params) {
- var requestQueryParams = {};
- requestQueryParams["function"] = "VerifySignature";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.clearPwdCache = function (params) {
- var requestQueryParams = {};
- requestQueryParams["function"] = "ClearPwdCache";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.cipher = function (params) {
- var requestQueryParams = {};
- requestQueryParams["function"] = "Cipher";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.verifyCertificate = function (params) {
- var requestQueryParams = {};
- requestQueryParams["function"] = "VerifyCertificate";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.netcaAA_VerifyUserCert = function (params) {
- var requestQueryParams = {};
- requestQueryParams["function"] = "NetcaAAVerifyUserCert";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.netcaAA_ChkOneCert = function (params) {
- var requestQueryParams = {};
- requestQueryParams["function"] = "NetcaAAChkOneCert";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.modifyKeyPwd = function(params){
- var requestQueryParams = {};
- requestQueryParams["function"] = "ModifyKeyPwd";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.unlockKeyPwd = function(params){
- var requestQueryParams = {};
- requestQueryParams["function"] = "UnlockKeyPwd";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.generateP10 = function(params){
- var requestQueryParams = {};
- requestQueryParams["function"] = "GenerateP10";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.installCertificate = function(params){
- var requestQueryParams = {};
- requestQueryParams["function"] = "InstallCertificate";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.keyXClientPluginShell = function (params) {
- var requestQueryParams = {};
- requestQueryParams["function"] = "KeyXClientPluginShell";
- requestQueryParams["param"] = params;
- requestQueryParams["appName"] = "KeyXClientApp";
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.displayCert = function (params) {
- var requestQueryParams = {};
- requestQueryParams["function"] = "DisplayCert";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.createData = function (params) {
- var requestQueryParams = {};
- requestQueryParams["function"] = "CreateData";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.readData = function (params) {
- var requestQueryParams = {};
- requestQueryParams["function"] = "ReadData";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.writeData = function (params) {
- var requestQueryParams = {};
- requestQueryParams["function"] = "WriteData";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.deleteData = function (params) {
- var requestQueryParams = {};
- requestQueryParams["function"] = "DeleteData";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.macData = function (params) {
- var requestQueryParams = {};
- requestQueryParams["function"] = "MacData";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.generateRandom = function (params) {
- var requestQueryParams = {};
- requestQueryParams["function"] = "GenerateRandom";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.signedDataGetInfo = function (params) {
- var requestQueryParams = {};
- requestQueryParams["function"] = "SignedDataGetInfo";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.kdf=function(params){
- var requestQueryParams = {};
- requestQueryParams["function"] ="Kdf";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.getDeviceSupportedSignAlgorithm = function (params) {
- var requestQueryParams = {};
- requestQueryParams["function"] = "GetDeviceSupportedSignAlgorithm";
- requestQueryParams["param"] = params;
- return SendNetcaCryptoJsonRpcMessage(requestQueryParams);
- }
- PKIObject.SendNetcaCryptoJsonRpcMessage = function(params){
- return SendNetcaCryptoJsonRpcMessage(params);
- }
- initializeObject();
- return PKIObject;
- }());
- function utf8_to_b64(str) {
- return window.btoa(unescape(encodeURIComponent(str)));
- }
- function b64_to_utf8(str) {
- return decodeURIComponent(escape(window.atob(str)));
- }
- //检测版本是否正常信息
- function netca_checkServiceOK(SuccessCallBack, FailedCallBack) {
- var NETCA_ERROR_WEBSOCKETCONNECTFAIL = -11000;
- var params = {};
- NetcaPKI.CheckLocalServerOk(params)
- .Then(function (res) {
- SuccessCallBack(res);
- })
- .Catch(function (res) {
- if (res.status == NETCA_ERROR_WEBSOCKETCONNECTFAIL) {
- //连接失败 返回错误 其他错误认为是成功
- FailedCallBack(res);
- }
- else {
- SuccessCallBack(res);
- }
- });
- }
- //检测版本是否正常信息
- function netca_checkPKIInstall(SuccessCallBack, FailedCallBack) {
- var NETCA_ERROR_WEBSOCKETCONNECTFAIL = -11000;
- var params = {};
- NetcaPKI.checkPKIInstall(params)
- .Then(function (res) {
- SuccessCallBack(res);
- })
- .Catch(function (res) {
- if (res.status == NETCA_ERROR_WEBSOCKETCONNECTFAIL) {
- //连接失败 返回错误 其他错误认为是成功
- FailedCallBack(res);
- }
- else {
- SuccessCallBack(res);
- }
- });
- }
- /* 非对称加密,加密文件内容
- selectType,选择证书的来源
- selectCondition,选择证书的条件,
- publicKeyEncFilePath,要加密的文件路径
- */
- function netca_publicKeyEncryptFile(selectType, selectCondition, publicKeyEncFilePath, SuccessPublicKeyEncryptFileCallBack, FailedPublicKeyEncryptFileCallBack) {
- var params = {
- cert: { //证书(CertificateParams)
- type: selectType,
- condition: selectCondition
- },
- data: { //数据(DataParams)
- fileName: publicKeyEncFilePath
- }
- }
- NetcaPKI.publicKeyEncrypt(params)
- .Then(function (res) {
- publicKeyEncResult.value = res.encryptValue;
- lastPublicKeyEncResult.value = res.encryptValue;
- })
- .Catch(function (res) {
- alert(res.msg);
- })
- }
- /* 非对称加密,加密文本
- selectType,选择证书的来源
- selectCondition,选择证书的条件,
- tbs,要加密的文本
- */
- function netca_publicKeyEncryptText(selectType, selectCondition, tbs, SuccessPublicKeyEncryptFileCallBack, FailedPublicKeyEncryptFileCallBack) {
- var params = {
- cert: { //证书(CertificateParams)
- type: selectType,
- condition: selectCondition
- },
- data: { //数据(DataParams)
- text: tbs
- }
- };
- NetcaPKI.publicKeyEncrypt(params)
- .Then(function (res) {
- SuccessPublicKeyEncryptFileCallBack(res);
- })
- .Catch(function (res) {
- FailedPublicKeyEncryptFileCallBack(res);
- })
- }
- /* 非对称解密
- selectType,选择证书的来源
- selectCondition,选择证书的条件,
- cipherData,要解密的密文
- savefile,解密后如果需要使用文件保存,传入的文件路径,如果为null,则不使用文件保存
- */
- function netca_privateKeyDecrypt(selectType, selectCondition, cipherData, savefile, SuccessPrivateKeyDecryptCallBack, FailedPrivateKeyDecryptCallBack) {
- var params = {
- cert: {
- type: selectType,
- condition: selectCondition
- },
- // algo: 0, //非对称加密算法
- encData: cipherData,
- savefileName: savefile
- };
- NetcaPKI.privateKeyDecrypt(params)
- .Then(function (res) {
- SuccessPrivateKeyDecryptCallBack(res);
- })
- .Catch(function (res) {
- FailedPrivateKeyDecryptCallBack(res);
- })
- }
- /* signedData签名
- certEncode, 证书编码,如果为空字符串,则使用selectType,和selectCondition构造的条件选择证书
- selectType,certEncode为空时,使用该项选择证书
- selectCondition,certEncode为空时,使用该项选择证书,
- tbs,要签名的明文
- _useSubjectKeyId:是否使用密钥标识符
- _useQ7:是否使用主体密钥标识符来标识证书,默认为true
- _detached:整数 是否不带原文,默认为0
- _tsaURL:时间戳url
- _includeCertOption//整数 包含证书的标识
- */
- function netca_signedDataSign(certEncode, selectType, selectCondition, tbs, _useSubjectKeyId, _useQ7, _tsaURL, _detached, _includeCertOption, _certPwd, SuccessSignedDataSignCallBack, FailedSignedDataSignCallBack) {
- var params = {};
- if (_certPwd == "") {
- params = {
- cert: { //证书(CertificateParams)
- encode: certEncode, //可选字段但不能为空
- type: selectType,
- condition: selectCondition
- },
- data: { //数据(DataParams)
- text: tbs
- },
- useSubjectKeyId: _useSubjectKeyId, //是否使用主体密钥标识符来标识证书,默认为true
- useQ7: _useQ7, //布尔值 是否使用国密Q7的方式,默认为false
- detached: parseInt(_detached), //整数 是否不带原文,默认为0
- tsaURL: _tsaURL,
- includeCertOption: _includeCertOption//整数 包含证书的标识
- };
- } else {
- params = {
- cert: { //证书(CertificateParams)
- encode: certEncode, //可选字段但不能为空
- type: selectType,
- condition: selectCondition
- },
- data: { //数据(DataParams)
- text: tbs
- },
- useSubjectKeyId: _useSubjectKeyId, //是否使用主体密钥标识符来标识证书,默认为true
- useQ7: _useQ7, //布尔值 是否使用国密Q7的方式,默认为false
- detached: parseInt(_detached), //整数 是否不带原文,默认为0
- tsaURL: _tsaURL,
- includeCertOption: _includeCertOption,//整数 包含证书的标识
- certPwd: _certPwd
- };
- }
- NetcaPKI.signedDataSign(params)
- .Then(function (res) {
- if (res.result == -5) {
- FailedSignedDataSignCallBack(res);
- }
- else {
- SuccessSignedDataSignCallBack(res);
- }
- })
- .Catch(function (res) {
- FailedSignedDataSignCallBack(res);
- })
- }
- /* signedData验证
- verifyLevel, 验证级别
- signValue:base64编码的签名值
- tbs:base64编码后的明文
- */
- function netca_signedDataVerify(verifyLevel, signValue, tbs, SuccessSignedDataVerifyCallBack, FailedSignedDataVerifyCallBack) {
- var params = {
- verifyLevel: verifyLevel, //验证级别,默认为验证签名本身,不验证证书,默认为1
- signedData: signValue //signedData的编码值
- };
- if (tbs != null) {
- params.originData = {
- text: tbs
- };
- }
- NetcaPKI.signedDataVerify(params)
- .Then(function (res) {
- SuccessSignedDataVerifyCallBack(res);
- })
- .Catch(function (res) {
- FailedSignedDataVerifyCallBack(res);
- })
- }
- /* 数字信封加密---加密文件内容
- certEncode, 证书编码,如果为空字符串,则使用selectType,和selectCondition构造的条件选择证书
- selectType,certEncode为空时,使用该项选择证书
- selectCondition,certEncode为空时,使用该项选择证书,
- _fieldName,明文文件路径
- _algo,使用的对称加密算法,默认为AES 128 CBC模式
- */
- function netca_envelopedDataEncryptFile(certCode, selectType, selectCondition, _fieldName, _algo, SuccessEnvelopedDataEncryptCallBack, FailedEnvelopedDataEncryptCallBack) {
- var params = {
- cert: { //证书(CertificateParams)
- encode: certCode,
- type: selectType,
- condition: selectCondition
- },
- algo: _algo, //对称加密算法,默认为128位的AES CBC模式
- data: {
- fileName: _fieldName
- }
- };
- NetcaPKI.envelopedDataEncrypt(params)
- .Then(function (res) {
- SuccessEnvelopedDataEncryptCallBack(res);
- })
- .Catch(function (res) {
- FailedEnvelopedDataEncryptCallBack(res);
- })
- }
- /* 数字信封加密---加密文本
- certEncode, 证书编码,如果为空字符串,则使用selectType,和selectCondition构造的条件选择证书
- selectType,certEncode为空时,使用该项选择证书
- selectCondition,certEncode为空时,使用该项选择证书,
- clearText,明文字符串
- _algo,使用的对称加密算法,默认为AES 128 CBC模式
- SuccessEnvelopedDataEncryptCallBack,加密成功时回调接口
- FailedEnvelopedDataEncryptCallBack,加密失败时回调接口
- */
- function netca_envelopedDataEncryptText(certCode, selectType, selectCondition, clearText, _algo, SuccessEnvelopedDataEncryptCallBack, FailedEnvelopedDataEncryptCallBack) {
- var params = {
- cert: { //证书(CertificateParams)
- encode: certCode,
- type: selectType,
- condition: selectCondition
- },
- algo: _algo, //对称加密算法,默认为128位的AES CBC模式
- data: {
- text: clearText
- }
- };
- NetcaPKI.envelopedDataEncrypt(params)
- .Then(function (res) {
- SuccessEnvelopedDataEncryptCallBack(res);
- })
- .Catch(function (res) {
- FailedEnvelopedDataEncryptCallBack(res);
- })
- }
- /* 解密数字信封
- encData,数字信封编码
- saveFile,解密后如果需要使用文件保存,传入的文件路径,如果为null,则不使用文件保存
- SuccessEnvDecryptCallBack,解密成功时执行的回调函数
- FailedEnvDecryptCallBack,解密失败时执行的回调函数
- */
- function netca_envelopedDataDecrypt(encData, saveFile, SuccessEnvDecryptCallBack, FailedEnvDecryptCallBack) {
- var params = {
- encData: encData, //要解密的数据
- savefileName: saveFile
- };
- NetcaPKI.envelopedDataDecrypt(params)
- .Then(function (res) {
- SuccessEnvDecryptCallBack(res);
- })
- .Catch(function (res) {
- FailedEnvDecryptCallBack(res);
- })
- }
- function netca_AutoSignField(_hashAlgo, src_File, dest_File, revInfoInclude, _tsaURL, _tsaUsr, _tsaPwd, _tsaHashAlgo, _allowCertType, _selMode,
- _fieldName, SignSuccessCallBack, SignFailedCallBack) {
- var params = {
- hashAlgo: _hashAlgo, //例如:“sha-1”,“sha-256”
- srcFile: src_File, //源pdf文件
- destFile: dest_File, //源pdf文件
- revInfoIncludeFlag: revInfoInclude, //签名时是否包含签名证书状态信息,true包含
- selMode: _selMode, //选择模式,有两种:按证书选择(0)和按印章选择(1)
- tsaURL: _tsaURL, //时间戳地址
- tsaUsr: _tsaUsr, //时间戳服务对应用户名
- tsaPwd: _tsaPwd, //时间戳服务对应用户的密码
- tsaHashAlgo: _tsaHashAlgo, //时间戳使用的hash算法,例如”sha-1”,”sha-256”等
- allowCertType: _allowCertType,
- /**
- * allowCertType为NULL或者ANY表示不进行限制。
- * RSA为RSA类型,SM2为SM2类型,ECC为ECC类型包括SM2,ECC!SM2为不包括SM2的ECC类型。
- * RSA:SM2为既包括RSA也包括SM2。
- * 默认支持RSA,SM2类型的证书。
- * 中间件 5.2版本新增的
- */
- signField: {
- fieldName: _fieldName //要进行签名的签名域名称
- }
- };
- NetcaPKI.pdfAutoSign(params)
- .Then(function (res) {
- SignSuccessCallBack();
- })
- .Catch(function (res) {
- SignFailedCallBack(res);
- });;
- }
- function netca_AutoSignPosition(_hashAlgo, src_File, dest_File, revInfoInclude, _tsaURL, _tsaUsr, _tsaPwd, _tsaHashAlgo, _allowCertType, _selMode,
- _pdfSign_pageNumber, _pdfSign_xpos, _pdfSign_ypos, _pdfSign_seal_width, _pdfSign_seal_height,
- SignSuccessCallBack, SignFailedCallBack) {
- var params = {
- hashAlgo: _hashAlgo, //例如:“sha-1”,“sha-256”
- srcFile: src_File, //源pdf文件
- destFile: dest_File, //源pdf文件
- revInfoIncludeFlag: revInfoInclude, //签名时是否包含签名证书状态信息,true包含
- selMode: _selMode, //选择模式,有两种:按证书选择(0)和按印章选择(1)
- tsaURL: _tsaURL, //时间戳地址
- tsaUsr: _tsaUsr, //时间戳服务对应用户名
- tsaPwd: _tsaPwd, //时间戳服务对应用户的密码
- tsaHashAlgo: _tsaHashAlgo, //时间戳使用的hash算法,例如”sha-1”,”sha-256”等
- allowCertType: _allowCertType,
- /**
- * allowCertType为NULL或者ANY表示不进行限制。
- * RSA为RSA类型,SM2为SM2类型,ECC为ECC类型包括SM2,ECC!SM2为不包括SM2的ECC类型。
- * RSA:SM2为既包括RSA也包括SM2。
- * 默认支持RSA,SM2类型的证书。
- * 中间件 5.2版本新增的
- */
- signPosition: {
- pageNum: parseInt(_pdfSign_pageNumber), //输入参数,整型,PDF文档的页码,页码从1开始计算。
- xPos: parseInt(_pdfSign_xpos), //输入参数,整型,签章左下角的水平向右方向坐标。
- yPos: parseInt(_pdfSign_ypos), //输入参数,整型,签章左下角的垂直向上方向坐标。
- width: parseInt(_pdfSign_seal_width), //输入参数,整型,签章的宽度。
- height: parseInt(_pdfSign_seal_height) //输入参数,整型,签章的高度。
- }
- };
- NetcaPKI.pdfAutoSign(params)
- .Then(function (res) {
- SignSuccessCallBack();
- })
- .Catch(function (res) {
- SignFailedCallBack(res);
- });
- }
- /*
- 获取证书或证书属性
- certEncode, 证书编码,如果为空字符串,则使用selectType,和selectCondition构造的条件选择证书
- selectType,certEncode为空时,使用该项选择证书
- selectCondition,certEncode为空时,使用该项选择证书,
- attId,证书属性
- successCallBack,成功时执行的回调函数
- failedCallBack,失败时执行的回调函数
- */
- /* 从USBKey中选择NETCA 颁发的签名证书
- var selectType = "{\"UIFlag\":\"default\", \"InValidity\":true,\"Type\":\"signature\", \"Method\":\"device\",\"Value\":\"any\"}";
- var selectCondition = "IssuerCN~'NETCA' && InValidity='True' && CertType='Signature'";
- */
- /* 从微软证书库中选择NETCA 颁发的加密证书
- var selectType = "{\"UIFlag\":\"default\",\"Type\":\"encrypt\",\"Method\":\"store\", \"Value\":{\"Type\":\"current user\",\"Value\":\"my\"}}";
- var selectCondition = "IssuerCN~'NETCA' && CertType='Encrypt'";
- */
- function netca_getCertStringAttribute(certEncode, selectType, selectCondition, attId, successCallBack, failedCallBack) {
- var params = {
- cert: {
- "encode": certEncode,
- "type": selectType,
- "condition": selectCondition
- },
- id: parseInt(attId)
- };
- NetcaPKI.getCertStringAttribute(params)
- .Then(function (res) {
- successCallBack(res);
- })
- .Catch(function (res) {
- failedCallBack(res);
- });;
- }
- /*
- *判断指定设备的是否插入
- certEncode,证书编码,可为空字符串,表示判断证书所在的设备是否插入
- keySN,设备序列号,可为空,表示判断设备序列号为KeySN的设备是否插入
- keyType,设备类型,可为-1,表示判断设备类型为keyType的设备是否插入
- certEncode,keySN,keyType 都设置时,三者之间的关系为交集,即判断设备设备序列号为
- keySN,设备类型为keyType,且包含证书certEncode的设备是否插入。
- 都不设置时,判断任何一个Key是否插入。
- InsertCallBack,有插入设备时执行的回调函数
- UnInsertCallBack,无插入的设备时执行的回调函数
- */
- function netca_isInsertKey(certEncode, keySN, keyType, InsertCallBack, UnInsertCallBack) {
- var params = {
- cert: {
- "encode": certEncode
- },//可选,指定证书所在的Key是否插入
- sn: keySN, //可选
- type: parseInt(keyType) //可选
- };
- NetcaPKI.isInsertKey(params)
- .Then(function (res) {
- if (res.insertCount > 0) {
- InsertCallBack(res);
- }
- else {
- UnInsertCallBack(res);
- }
- })
- .Catch(function (res) {
- UnInsertCallBack(res);
- });;
- }
- function netca_Custom_PdfSignAndUpload(certEncode, pageNum, x, y, signPdfBase64Str, UploadPdfUrl, successCallBack, failedCallBack) {
- var params = {
- "certEncode": certEncode,
- "pageNum": pageNum,
- "x": x,
- "y": y,
- "signPdfBytes": signPdfBase64Str,
- "uploadPdfUrl": UploadPdfUrl
- };
- NetcaPKI.Custom_PdfSignAndUpload(params)
- .Then(function (res) {
- successCallBack(res);
- })
- .Catch(function (res) {
- failedCallBack(res);
- });;
- }
- function netca_Custom_PdfSignAndUploadURL(certEncode, pageNum, x, y, width, height, signUrl, UploadPdfUrl, successCallBack, failedCallBack) {
- //signPdfUrl
- var params = {
- "certEncode": certEncode,
- "pageNum": pageNum,
- "x": x,
- "y": y,
- "width": width,
- "height": height,
- "signPdfUrl": signUrl,
- "uploadPdfUrl": UploadPdfUrl
- };
- NetcaPKI.Custom_PdfSignAndUploadByURL(params)
- .Then(function (res) {
- successCallBack(res);
- })
- .Catch(function (res) {
- failedCallBack(res);
- });;
- }
- //获取签章
- //参数是证书编码
- function netca_getSealImage(certEncode, SuccessGetSealImageCallBack, FailedGetSealImageCallBack) {
- var params = {
- cert: {
- "encode": certEncode
- }
- };
- NetcaPKI.GetNetcaSealImage(params)
- .Then(function (res) {
- SuccessGetSealImageCallBack(res);
- })
- .Catch(function (res) {
- FailedGetSealImageCallBack(res);
- });
- }
- /*
- *验证指定设备的密码
- password,介质密码,可为空字符串,则由底层弹出密码输入框
- certEncode,证书编码,可为空字符串,表示验证证书所在的Key的密码
- keySN,设备序列号,可为空,表示验证设备序列号为KeySN的设备的密码
- keyType,设备类型,可为-1,表示验证设备类型为keyType的设备的密码,
- certEncode,keySN,keyType 都设置时,三者之间的关系为交集,即验证的设备是设备序列号为
- keySN,设备类型为keyType,且包含证书certEncode.
- 都不设置时, 默认验证第一个设备的PIN码
- SuccessCallBack,成功时执行的回调函数
- FailedCallBack,失败时执行的回调函数
- */
- function netca_verifyKeyPwd(password, certEncode, keySN, keyType, SuccessCallBack, FailedCallBack) {
- var params = {
- pwd: password,
- cert: {
- "encode": certEncode
- },//可选,指定证书所在的Key是否插入
- sn: keySN, //可选
- type: parseInt(keyType) //可选
- };
- NetcaPKI.verifyKeyPwd(params)
- .Then(function (res) {
- if (res.result == 1) {
- var tip = "密码验证成功,验证的设备类型为 " + res.type +
- "; 验证的设备序列号为 " + res.sn
- + "; 密码剩余重试次数为 " + res.retrynum;
- SuccessCallBack(res);
- }
- else {
- var tip = "密码验证失败,错误码为" + res.result +
- "; 验证的设备类型为 " + res.type +
- "; 验证的设备序列号为 " + res.sn
- + "; 密码剩余重试次数为 " + res.retrynum;
- FailedCallBack(res);
- }
- })
- .Catch(function (res) {
- alert(res.msg);
- });;
- }
- function netca_getCertStringExtensionValue(certEncode, selectType, selectCondition, oidString, oidType, SuccessCallBack, FailedCallBack) {
- var params = {
- cert: {
- "encode": certEncode,
- "type": selectType,
- "condition": selectCondition
- },
- oidstr: oidString,
- type: oidType
- };
- NetcaPKI.GetCertStringExtensionValue(params)
- .Then(function (res) {
- SuccessCallBack(res);
- })
- .Catch(function (res) {
- FailedCallBack(res);
- });
- }
- //获取版本号相关信息
- function netca_getVersionInfo(SuccessGetVersionInfoCallBack, FailedGetVersionInfoCallBack) {
- var params = {};
- NetcaPKI.getVersionInfo(params)
- .Then(function (res) {
- SuccessGetVersionInfoCallBack(res);
- })
- .Catch(function (res) {
- FailedGetVersionInfoCallBack(res);
- });
- }
- //获取版本号相关信息
- function netca_clearPwdCache(SuccessCallBack, FailedCallBack) {
- var params = {};
- NetcaPKI.clearPwdCache(params)
- .Then(function (res) {
- SuccessCallBack(res);
- })
- .Catch(function (res) {
- FailedCallBack(res);
- });
- }
- //获取客户端KeyX版本号相关信息
- function netca_getClientVersionInfo(SuccessGetVersionInfoCallBack, FailedGetVersionInfoCallBack) {
- var params = {};
- NetcaPKI.getClientVersionInfo(params)
- .Then(function (res) {
- SuccessGetVersionInfoCallBack(res);
- })
- .Catch(function (res) {
- FailedGetVersionInfoCallBack(res);
- });
- }
- //监控设备插拔
- function netca_monitorDevice(_delayTime, SuccessMonitorDeviceCallBack, FailedMonitorDeviceCallBack) {
- var params = {
- delayTime: _delayTime //延迟时间,默认为0毫秒
- };
- NetcaPKI.monitorDevice(params)
- .Then(function (res) {
- SuccessMonitorDeviceCallBack(res);
- })
- .Catch(function (res) {
- FailedMonitorDeviceCallBack(res);
- });
- }
- //PKCS#1签名
- //version >=1.4.1
- /*
- 参数说明:
- certEncode, 证书编码,如果为空字符串,则使用selectType,和selectCondition构造的条件选择证书
- selectType,certEncode为空时,使用该项选择证书
- selectCondition,certEncode为空时,使用该项选择证书
- signAlgo, 签名算法 整数 SHA256WthRSA签名算法为4,SM3WithSM2签名算法为25 参考NETCA Crypto API 文档
- origindata base64编码字符串 ,待签名的数据
- SuccessSignCallBack,成功时执行的回调函数
- FailedSignCallBack,失败时执行的回调函数
- */
- function netca_sign(certEncode, selectType, selectCondition, signAlgo, origindata, SuccessSignCallBack, FailedSignCallBack) {
- var params = {
- cert: {
- "encode": certEncode,
- "type": selectType,
- "condition": selectCondition
- },
- data: {
- text: origindata
- },
- algo: signAlgo
- };
- NetcaPKI.sign(params)
- .Then(function (res) {
- SuccessSignCallBack(res);
- })
- .Catch(function (res) {
- FailedSignCallBack(res);
- });
- }
- //PKCS#1签名
- //version >=1.4.1
- /*
- certEncode,字符串, 证书编码,如果为空字符串,则使用selectType,和selectCondition构造的条件选择证书
- selectType,certEncode为空时,使用该项选择证书
- selectCondition,certEncode为空时,使用该项选择证书,
- origindata ,字符串 base64编码,原签名数据
- signAlgo,签名算法 SHA256WthRSA签名算法为4,SM3WithSM2签名算法为25 参考NETCA Crypto API 文档
- SuccessSignVerifyCallBack,成功时执行的回调函数
- FailedSignVerifyCallBack,失败时执行的回调函数
- */
- function netca_verifySignature(certEncode, selectType, selectCondition, signAlgo, origindata, signValue, SuccessSignVerifyCallBack, FailedSignVerifyCallBack) {
- var params = {
- cert: {
- "encode": certEncode,
- "type": selectType,
- "condition": selectCondition
- },
- data: {
- text: origindata
- },
- signature: signValue,
- algo: signAlgo
- };
- NetcaPKI.verifySignature(params)
- .Then(function (res) {
- SuccessSignVerifyCallBack(res);
- })
- .Catch(function (res) {
- FailedSignVerifyCallBack(res);
- });
- }
- //标准签名/签章接口
- /*通过查找符合条件的证书,
- 解析源文件和PDF字节流,
- 可在指定页面指定位置,定位签名或签章,
- 可在已有域进行签名或签章,
- 并将结果保存到目标文件中。
- */
- function netca_SignatureCreator_PdfSignSealField(_srcFile, _srcBytes, _destFile, _certEncode, _selMode,
- _signFieldText, _sealImageEncode, _revInfoIncludeFlag, _fieldName,
- _tsaUrl, _tsaUsr, _tsaPwd, _tsaHashAlgo,
- _SignatureCreatorSuccessCallBack, _SignatureCreatorFailedCallBack) {
- var params = {
- srcFile: _srcFile, //源pdf文件
- srcBytes: _srcBytes, //源Pdf文件的Base64编码
- destFile: _destFile, //目标pdf文件
- certEncode: _certEncode, //签名证书Base64编码
- selMode: _selMode, //操作模式
- signFieldText: _signFieldText, //签名域显示的文字
- sealImageEncode: _sealImageEncode, //签章图片Base64编码
- revInfoIncludeFlag: _revInfoIncludeFlag,//是否包含吊销信息
- SignField: //签名域对象
- {
- fieldName: _fieldName //签名域名称
- },
- Tsa: //时间戳对象
- {
- tsaUrl: _tsaUrl, //时间戳地址
- tsaUsr: _tsaUsr, //时间戳服务对应用户名
- tsaPwd: _tsaPwd, //时间戳服务对应用户的密码
- tsaHashAlgo: _tsaHashAlgo //时间戳使用的hash算法,例如”sha-1”,”sha-256”等
- }
- };
- NetcaPKI.SignatureCreatorPdfSignSealFieldOrPosition(params)
- .Then(function (res) {
- _SignatureCreatorSuccessCallBack(res);
- })
- .Catch(function (res) {
- _SignatureCreatorFailedCallBack(res);
- });
- }
- function netca_SignatureCreator_PdfSignSealPosition(_srcFile, _srcBytes, _destFile, _certEncode, _selMode,
- _signFieldText, _sealImageEncode, _revInfoIncludeFlag, _pageNum, _xPos, _yPos, _width, _height,
- _tsaUrl, _tsaUsr, _tsaPwd, _tsaHashAlgo,
- _SignatureCreatorSuccessCallBack, _SignatureCreatorFailedCallBack) {
- var params = {
- srcFile: _srcFile, //源pdf文件
- srcBytes: _srcBytes, //源Pdf文件的Base64编码
- destFile: _destFile, //目标pdf文件
- certEncode: _certEncode, //签名证书Base64编码
- selMode: _selMode, //操作模式
- signFieldText: _signFieldText, //签名域显示的文字
- sealImageEncode: _sealImageEncode, //签章图片Base64编码
- revInfoIncludeFlag: _revInfoIncludeFlag,//是否包含吊销信息
- SignPosition: //签名位置对象
- {
- pageNum: _pageNum, //PDF文档的页码
- xPos: _xPos, //签名域/签章左下角的水平向右方向坐标
- yPos: _yPos, //签名域/签章左下角的垂直向上方向坐标
- width: _width, //签名域/签章的宽度
- height: _height //签名域/签章的高度
- },
- Tsa: //时间戳对象
- {
- tsaUrl: _tsaUrl, //时间戳地址
- tsaUsr: _tsaUsr, //时间戳服务对应用户名
- tsaPwd: _tsaPwd, //时间戳服务对应用户的密码
- tsaHashAlgo: _tsaHashAlgo //时间戳使用的hash算法,例如”sha-1”,”sha-256”等
- }
- };
- NetcaPKI.SignatureCreatorPdfSignSealFieldOrPosition(params)
- .Then(function (res) {
- _SignatureCreatorSuccessCallBack(res);
- })
- .Catch(function (res) {
- _SignatureCreatorFailedCallBack(res);
- });
- }
- function netca_SignatureCreator_PdfSignSealFieldEx(_srcFile, _srcBytes, _destFile, _certEncode, _selMode,
- _signFieldText, _sealImageEncode, _revInfoIncludeFlag, _fieldName,
- _tsaUrl, _tsaUsr, _tsaPwd, _tsaHashAlgo,
- _text, _timeFormat, _widthPercentage, _heightPercentage, _fontName, _fontSize, _A, _R, _G, _B, _align,
- _SignatureCreatorSuccessCallBack, _SignatureCreatorFailedCallBack) {
- var params = {
- srcFile: _srcFile, //源pdf文件
- srcBytes: _srcBytes, //源Pdf文件的Base64编码
- destFile: _destFile, //目标pdf文件
- certEncode: _certEncode, //签名证书Base64编码
- selMode: _selMode, //操作模式
- signFieldText: _signFieldText, //签名域显示的文字
- sealImageEncode: _sealImageEncode, //签章图片Base64编码
- revInfoIncludeFlag: _revInfoIncludeFlag,//是否包含吊销信息
- SignField: //签名域对象
- {
- fieldName: _fieldName //签名域名称
- },
- Tsa: //时间戳对象
- {
- tsaUrl: _tsaUrl, //时间戳地址
- tsaUsr: _tsaUsr, //时间戳服务对应用户名
- tsaPwd: _tsaPwd, //时间戳服务对应用户的密码
- tsaHashAlgo: _tsaHashAlgo //时间戳使用的hash算法,例如”sha-1”,”sha-256”等
- },
- TimeObj:
- {
- text: _text, //自定义文本信息
- timeFormat: _timeFormat, //日期格式
- widthPercentage: _widthPercentage, //宽偏移百分比
- heightPercentage: _heightPercentage,//高偏移百分比
- fontName: _fontName, //字体
- fontSize: _fontSize, //字体大小
- FontColor:
- {
- A: _A,
- R: _R,
- G: _G,
- B: _B
- },
- align: _align //对齐方式
- }
- };
- NetcaPKI.SignatureCreatorPdfSignSealFieldOrPositionEx(params)
- .Then(function (res) {
- _SignatureCreatorSuccessCallBack(res);
- })
- .Catch(function (res) {
- _SignatureCreatorFailedCallBack(res);
- });
- }
- function netca_SignatureCreator_PdfSignSealPositionEx(_srcFile, _srcBytes, _destFile, _certEncode, _selMode,
- _signFieldText, _sealImageEncode, _revInfoIncludeFlag, _positionStartPage, _positionEndPage, _xPos, _yPos, _positioinWidth, _positionHeight,
- _tsaUrl, _tsaUsr, _tsaPwd, _tsaHashAlgo,
- _text, _timeFormat, _widthPercentage, _heightPercentage, _fontName, _fontSize, _A, _R, _G, _B, _align,
- _SignatureCreatorSuccessCallBack, _SignatureCreatorFailedCallBack) {
- var params = {
- srcFile: _srcFile, //源pdf文件
- srcBytes: _srcBytes, //源Pdf文件的Base64编码
- destFile: _destFile, //目标pdf文件
- certEncode: _certEncode, //签名证书Base64编码
- selMode: _selMode, //操作模式
- signFieldText: _signFieldText, //签名域显示的文字
- sealImageEncode: _sealImageEncode, //签章图片Base64编码
- revInfoIncludeFlag: _revInfoIncludeFlag,//是否包含吊销信息
- SignPosition: //签名位置对象
- {
- startPage: _positionStartPage, //PDF文档的开始页码
- endPage: _positionEndPage, //PDF文档的结束页码
- xPos: _xPos, //签名域/签章左下角的水平向右方向坐标
- yPos: _yPos, //签名域/签章左下角的垂直向上方向坐标
- width: _positioinWidth, //签名域/签章的宽度
- height: _positionHeight //签名域/签章的高度
- },
- Tsa: //时间戳对象
- {
- tsaUrl: _tsaUrl, //时间戳地址
- tsaUsr: _tsaUsr, //时间戳服务对应用户名
- tsaPwd: _tsaPwd, //时间戳服务对应用户的密码
- tsaHashAlgo: _tsaHashAlgo //时间戳使用的hash算法,例如”sha-1”,”sha-256”等
- },
- TimeObj:
- {
- text: _text, //自定义文本信息
- timeFormat: _timeFormat, //日期格式
- widthPercentage: _widthPercentage, //宽偏移百分比
- heightPercentage: _heightPercentage,//高偏移百分比
- fontName: _fontName, //字体
- fontSize: _fontSize, //字体大小
- FontColor:
- {
- A: _A,
- R: _R,
- G: _G,
- B: _B
- },
- align: _align //对齐方式
- }
- };
- NetcaPKI.SignatureCreatorPdfSignSealFieldOrPositionEx(params)
- .Then(function (res) {
- _SignatureCreatorSuccessCallBack(res);
- })
- .Catch(function (res) {
- _SignatureCreatorFailedCallBack(res);
- });
- }
- function netca_SignatureCreator_SealKeyWord(_srcFile, _srcBytes, _destFile, _certEncode, _selMode,
- _signFieldText, _sealImageEncode, _revInfoIncludeFlag,
- _tsaUrl, _tsaUsr, _tsaPwd, _tsaHashAlgo,
- _text, _timeFormat, _widthPercentage, _heightPercentage, _fontName, _fontSize, _A, _R, _G, _B, _align,
- _keyWord, _keyWordStartPage, _keyWordEndPage, _keyWordIndex, _keyWordWidth, _keyWordHeight, _offsetX, _offsetY,
- _SignatureCreatorSuccessCallBack, _SignatureCreatorFailedCallBack) {
- var params = {
- srcFile: _srcFile, //源pdf文件
- srcBytes: _srcBytes, //源Pdf文件的Base64编码
- destFile: _destFile, //目标pdf文件
- certEncode: _certEncode, //签名证书Base64编码
- selMode: _selMode, //操作模式
- signFieldText: _signFieldText, //签名域显示的文字
- sealImageEncode: _sealImageEncode, //签章图片Base64编码
- revInfoIncludeFlag: _revInfoIncludeFlag,//是否包含吊销信息
- SealKeyWord: //关键字对象
- {
- keyWord: _keyWord, //关键字
- startPage: _keyWordStartPage, //PDF文档的开始页码
- endPage: _keyWordEndPage, //PDF文档的结束页码
- keyWordIndex: _keyWordIndex, //关键字索引
- width: _keyWordWidth, //签名域矩形的宽度
- height: _keyWordHeight, //签名域矩形的高度
- offsetX: _offsetX, //水平偏移量
- offsetY: _offsetY //垂直偏移量
- },
- Tsa: //时间戳对象
- {
- tsaUrl: _tsaUrl, //时间戳地址
- tsaUsr: _tsaUsr, //时间戳服务对应用户名
- tsaPwd: _tsaPwd, //时间戳服务对应用户的密码
- tsaHashAlgo: _tsaHashAlgo //时间戳使用的hash算法,例如”sha-1”,”sha-256”等
- },
- TimeObj:
- {
- text: _text, //自定义信息
- timeFormat: _timeFormat, //日期格式
- widthPercentage: _widthPercentage, //宽偏移百分比
- heightPercentage: _heightPercentage,//高偏移百分比
- fontName: _fontName, //字体
- fontSize: _fontSize, //字体大小
- FontColor:
- {
- A: _A,
- R: _R,
- G: _G,
- B: _B
- },
- align: _align //对齐方式
- }
- };
- NetcaPKI.SignatureCreatorPdfSignSealFieldOrPositionEx(params)
- .Then(function (res) {
- _SignatureCreatorSuccessCallBack(res);
- })
- .Catch(function (res) {
- _SignatureCreatorFailedCallBack(res);
- });
- }
- function netca_GetNetcaSealImage(certEncode, successCallBack, failedCallBack) {
- var params = {
- "cert": {
- "encode": certEncode
- }
- };
- NetcaPKI.GetNetcaSealImage(params)
- .Then(function (res) {
- successCallBack(res);
- })
- .Catch(function (res) {
- failedCallBack(res);
- });;
- }
- function netca_HashData(hashData, algo, cp, successCallBack, failedCallBack) {
- params = {
- hashAlgo: algo,
- data: { //数据(DataParams)
- text: hashData
- },
- flag: cp
- };
- NetcaPKI.HashData(params)
- .Then(function (res) {
- successCallBack(res);
- })
- .Catch(function (res) {
- failedCallBack(res);
- });;
- }
- function netca_cipher(useCipherEnc, cipherData, cipherAlgo, cipherKey, successCallBack, failedCallBack) {
- params = {
- algo: cipherAlgo,
- data: { //数据(DataParams)
- text: cipherData
- },
- key: { //数据(DataParams)
- hexText: cipherKey
- },
- useEnc: useCipherEnc
- };
- NetcaPKI.cipher(params)
- .Then(function (res) {
- successCallBack(res);
- })
- .Catch(function (res) {
- failedCallBack(res);
- });;
- }
- function netca_GetCertList(successCallBack, failedCallBack) {
- var params = {};
- NetcaPKI.GetCertList(params)
- .Then(function (res) {
- successCallBack(res);
- })
- .Catch(function (res) {
- failedCallBack(res);
- });;
- }
- function netca_getSealClientVersion(successCallBack, failedCallBack) {
- var params = {};
- NetcaPKI.getSealClientVersion(params)
- .Then(function (res) {
- successCallBack(res);
- })
- .Catch(function (res) {
- failedCallBack(res);
- });;
- }
- function netca_verifyCertificate(_certEncode, _bUseCrl, _bUseOcsp, _crlEncode, _ocspUrl, _time, successCallBack, failedCallBack) {
- var params = {
- cert: {
- "encode": _certEncode
- },
- bUseCrl: _bUseCrl,
- bUseOcsp: _bUseOcsp,
- crlEncode: _crlEncode,
- ocspUrl: _ocspUrl,
- time: _time
- };
- NetcaPKI.verifyCertificate(params)
- .Then(function (res) {
- successCallBack(res);
- })
- .Catch(function (res) {
- failedCallBack(res);
- });;
- }
- function netca_signatureVerifierVerifyPDF(_srcFile, _srcBytes, _level, successCallBack, failedCallBack) {
- var params = {
- srcFile: _srcFile,
- srcBytes: _srcBytes,
- level: _level
- };
- NetcaPKI.signatureVerifierVerifyPDF(params)
- .Then(function (res) {
- successCallBack(res);
- })
- .Catch(function (res) {
- failedCallBack(res);
- });;
- }
- function netca_signatureVerifierUndoPDF(_signFile, _signBytes, _index, successCallBack, failedCallBack) {
- var params = {
- signFile: _signFile,
- signBytes: _signBytes,
- index: _index
- };
- NetcaPKI.signatureVerifierUndoPDF(params)
- .Then(function (res) {
- successCallBack(res);
- })
- .Catch(function (res) {
- failedCallBack(res);
- });;
- }
- function netca_certauth_verifyCert(serverUrl, certEncode, selectType, selectCondition, checkVerifytime, successCallBack, failedCallBack) {
- var params = {
- url: serverUrl,
- verifytime: checkVerifytime,
- cert: { //证书(CertificateParams)
- encode: certEncode,
- type: selectType,
- condition: selectCondition
- }
- };
- NetcaPKI.netcaAA_VerifyUserCert(params)
- .Then(function (res) {
- successCallBack(res);
- })
- .Catch(function (res) {
- failedCallBack(res);
- });;
- }
- function netca_certauth_chkonecert(serverUrl, certEncode, selectType, selectCondition, successCallBack, failedCallBack) {
- var params = {
- url: serverUrl,
- cert: { //证书(CertificateParams)
- encode: certEncode,
- type: selectType,
- condition: selectCondition
- }
- };
- NetcaPKI.netcaAA_ChkOneCert(params)
- .Then(function (res) {
- successCallBack(res);
- })
- .Catch(function (res) {
- failedCallBack(res);
- });;
- }
- function netca_modifyKeyPwd(_sn, _type, _oldPwd, _newPwd, SuccessCallBack, FailedCallBack) {
- var params = {
- sn: _sn,
- type: parseInt(_type),
- oldPwd: _oldPwd,
- newPwd: _newPwd
- };
- NetcaPKI.modifyKeyPwd(params)
- .Then(function (res) {
- if (res.result == 1) {
- SuccessCallBack(res);
- }
- else {
- FailedCallBack(res);
- }
- })
- .Catch(function (res) {
- alert(res.msg);
- });;
- }
- function netca_unlockKeyPwd(_sn, _type, _unlockPwd, _newPwd, SuccessCallBack, FailedCallBack) {
- var params = {
- sn: _sn,
- type: parseInt(_type),
- unlockPwd: _unlockPwd,
- newPwd: _newPwd
- };
- NetcaPKI.unlockKeyPwd(params)
- .Then(function (res) {
- if (res.result == 1) {
- SuccessCallBack(res);
- }
- else {
- FailedCallBack(res);
- }
- })
- .Catch(function (res) {
- alert(res.msg);
- });;
- }
- function netca_getSealConfigInfo(successCallBack, failCallBack) {
- var params = {};
- NetcaPKI.getSealConfigInfo(params)
- .Then(function(res) {
- successCallBack(res);
- })
- .Catch(function(res) {
- failCallBack(res)
- });
- }
- function netca_getSignatureFieldInfo(_srcFile, _srcBytes, successCallBack, failedCallBack) {
- var params = {
- srcFile: _srcFile,
- srcBytes: _srcBytes
- };
- NetcaPKI.getSignatureFieldInfo(params)
- .Then(function (res) {
- successCallBack(res);
- })
- .Catch(function (res) {
- failedCallBack(res);
- });
- }
- function netca_generateP10(_sn, _type, _keypairAlgo, _keypairLabel, _keypairBits, _signAlgo,
- _c, _st, _l, _o, _email, _ou, _cn, successCallBack, failedCallBack) {
- var params = {
- sn: _sn,
- type: parseInt(_type),
- keypairAlgo: parseInt(_keypairAlgo),
- keypairLabel: _keypairLabel,
- keypairBits: parseInt(_keypairBits),
- signAlgo: parseInt(_signAlgo),
- SubjectObj: {
- c: _c,
- st: _st,
- l: _l,
- o: _o,
- email: _email,
- ou: _ou,
- cn: _cn
- }
- };
- NetcaPKI.generateP10(params)
- .Then(function (res) {
- successCallBack(res);
- })
- .Catch(function (res) {
- failedCallBack(res);
- });;
- }
- function netca_installCertificate(_sn, _type, _encKeypair, _encCert, _signCert, successCallBack, failedCallBack) {
- var params = {
- sn: _sn,
- type: parseInt(_type),
- encKeypair: _encKeypair,
- encCert: _encCert,
- signCert: _signCert
- };
- NetcaPKI.installCertificate(params)
- .Then(function (res) {
- successCallBack(res);
- })
- .Catch(function (res) {
- failedCallBack(res);
- });;
- }
- function KeyXClient_PluginShell(inuid,SuccessCallBack,FailedCallBack)
- {
- var params = {
- uid:inuid
- };
- NetcaPKI.keyXClientPluginShell(params)
- .Then(function (res) {
- })
- .Catch(function (res) {
- alert(res.msg);
- })
- }
|