/** *************************************************************************** * TouchEn Nx, 1.0.0 * * For more information on this product, please see * http://www.raonsecure.com * * Copyright (c) Raonsecure Co.,Ltd All Rights Reserved. * * 본 코드에 대한 모든 권한은 (주)라온시큐어 있으며 동의없이 사용/배포/가공할 수 없습니다. * *************************************************************************** */ /** **************************************************** TouchEnNx_loader.js **************************************************** | Version 작성자 수정일 변경사항 --------- ------- ----------- ---------- | v1.0.0.1 백서린 2017.01.20 최초 **************************************************** Copyright ⒞ RaonSecure Co., Ltd. **************************************************** **/ var useTouchEnnxKey = false; try{ if(TOUCHENEX_UTIL.isWin()){ if(TOUCHENEX_UTIL.isIE() && parseInt(TOUCHENEX_UTIL.getBrowserVer()) >= parseInt(TouchEnNxConfig.version.moduleMinVer.MSIE)) useTouchEnnxKey = true; else if(TOUCHENEX_UTIL.isChrome() && parseInt(TOUCHENEX_UTIL.getBrowserVer()) >= parseInt(TouchEnNxConfig.version.moduleMinVer.chromeMinVer)) useTouchEnnxKey = true; else if(TOUCHENEX_UTIL.isFirefox() && parseInt(TOUCHENEX_UTIL.getBrowserVer()) >= parseInt(TouchEnNxConfig.version.moduleMinVer.FireFoxMinVer)) useTouchEnnxKey = true; else if(TOUCHENEX_UTIL.isOpera() && parseInt(TOUCHENEX_UTIL.getBrowserVer()) >= parseInt(TouchEnNxConfig.version.moduleMinVer.OperaMinVer)) useTouchEnnxKey = true; else if(TOUCHENEX_UTIL.isSafari() && parseInt(TOUCHENEX_UTIL.getBrowserVer()) >= parseInt(TouchEnNxConfig.version.moduleMinVer.SafariMinVer)) useTouchEnnxKey = true; else if(TOUCHENEX_UTIL.isEdge()) useTouchEnnxKey = true; else useTouchEnnxKey = false; } else if(TOUCHENEX_UTIL.isMac()){ useTouchEnnxKey = false; } else{ useTouchEnnxKey = false; } }catch(e){ useTouchEnnxKey = false; } var TouchEnNx = { flag : false, useModule : "", success : function(result){ TouchEnNx.processingbar(false); if(result.isvm == "true"){ //가상화 환경 일 경우 } if (result.result == "true" || result.success == "true") { try{ if(typeof touchennxfwInfo == "object" && TouchEnNxConfig.use.nxfw){ if(TOUCHENEX_UTIL.isMac()){ touchennxfwInterface.CustomEX2("Key_Start",touchennxwebparams_mac); }else{ touchennxfwInterface.CustomEX2("Key_Start",touchennxfwparams); } } if(typeof touchennxwebInfo == "object" && TouchEnNxConfig.use.nxweb){ if(!TOUCHENEX_UTIL.isLinux()){ if(TOUCHENEX_UTIL.isMac()){ touchennxwebInterface.CustomEX2("Key_Start",touchennxwebparams_mac); }else{ touchennxwebInterface.CustomEX2("Key_Start",touchennxwebparams); } } } }catch(e){} } /* 20170405 SE2 LSH * 로딩 이후, 처리사항 추가. (ex. focus 처리, 동적 Rescan처리) */ }, TK_getUrlParameter : function(name) { var value = ""; try { var url = document.location.href; var idx = url.indexOf("?"); var params = "&"+url.substring(idx+1); idx = params.indexOf("&" + name + "="); if (idx >= 0) value = params.substring(idx+name.length+2); idx = value.indexOf("&"); if (idx >= 0) value = value.substring(0, idx); value = decodeURIComponent(value); } catch(err) {} return value; }, processingbar : function(tmps){ if(!TouchEnNxConfig.processingbar.use) return; if(tmps){ if(document.body){ if(document.getElementById("tk_overtopDiv")!=null) return true; var div = document.createElement("div"); div.setAttribute("id", "tk_overtopDiv"); document.body.appendChild(div); var processingbar = '
'; processingbar += '
'; processingbar += '
'; processingbar += ''; processingbar += '
'; processingbar += '
'; processingbar += '
'; document.getElementById("tk_overtopDiv").innerHTML = processingbar; } }else{ if(document.getElementById("tk_overtopDiv")!=null) document.body.removeChild(document.getElementById("tk_overtopDiv")); } }, init : function(){ var loadmodule = []; if(TouchEnNxConfig.use.nxkey && useTouchEnnxKey){ if(typeof touchenexInfo != "object") alert("include TouchEnNxKey javascript"); if(typeof loadmodule[0] != "object") loadmodule[0] = touchenexInfo; else loadmodule[loadmodule.length] = touchenexInfo; } //20171030 if(TouchEnNxConfig.use.nxcr && nxCR_SupportCheck()){ if(typeof keysharpnxInfo != "object") alert("include nxcr javascript"); if(typeof loadmodule[0] != "object") loadmodule[0] = keysharpnxInfo; else loadmodule[loadmodule.length] = keysharpnxInfo; } if(TouchEnNxConfig.use.nxweb){ if(typeof touchennxwebInfo != "object") alert("include nxweb javascript"); if(typeof loadmodule[0] != "object") loadmodule[0] = touchennxwebInfo; else loadmodule[loadmodule.length] = touchennxwebInfo; } if(TouchEnNxConfig.use.nxfw){ if(typeof touchennxfwInfo != "object") alert("include nxfw javascript"); if(typeof loadmodule[0] != "object") loadmodule[0] = touchennxfwInfo; else loadmodule[loadmodule.length] = touchennxfwInfo; } var moduleArrary = loadmodule; if (typeof TouchEnKey_installpage != "string" && moduleArrary.length > 0 && !TouchEnNx.flag){ // 설치페이지가 아닐 경우 모듈 동작 TouchEnNx.processingbar(true); TouchEnNx.flag = true; TOUCHENEX_CHECK.check(moduleArrary, function(currStatus){ if (currStatus.status) { TOUCHENEX_LOADING(function(ready){ if(TouchEnNxConfig.use.nxkey){ TK_LoadingCallback(ready); }else{ TouchEnNx.success({success : "true"}); // nxkey 미사용일때 } }); } else { /** 솔루션 미설치 일 때 설치 페이지 이동 **/ //20170831 설치 함수 수정. for(i=0; i< loadmodule.length; i++){ if(!currStatus.info[i].isInstalled){ var unInstall = Checkmodule(currStatus.info[i].name); } } alert("안전한 홈페이지 사용을 위해 " + unInstall + " 보안솔루션(라온시큐어) 설치페이지로 이동합니다."); location.href = TouchEnNxConfig.installPage.tos; } /* alert("안전한 홈페이지 사용을 위해" + Checkmodule[j] + "보안솔루션(라온시큐어) 설치페이지로 이동합니다."); location.href = TouchEnNxConfig.installPage.tos; */ }); } } }; if(typeof jQuery =="function"){ jQuery(function(){ if(TouchEnNxConfig.onload){ if(TOUCHENEX_UTIL.isLinux()){ initTranskey(); //Linux용 가상키패드 동작 TouchEnNx.init(); } else if(TOUCHENEX_UTIL.isMac()) { initTranskey(); }else TouchEnNx.init(); } }); } function Checkmodule(name){ if(name.indexOf("TOUCHENEX")>-1){ name = "키보드보안"; }else if(name.indexOf("KeySharpNX")>-1){ name = "인증서 복사"; }else if(name.indexOf("TouchEnnxWEB")>-1){ name = "웹화면보안" }else if(name.indexOf("TouchEnnxFW")>-1){ name = "온라인 방화벽"; }else{ return; } return name; }