//////////////////////////////Update Zhang//////////////////////////////// // XecureWeb SSL Client Java Script ver4.1 2001.5.30 // // ¾ÆÁ÷ : Netscape 6.0Àº Áö¿øµÇÁö ¾Ê½À´Ï´Ù.... // Edit List 2000,05,30 // process_error() --> XecureWebError() // by Zhang º¯°æ // function IsNetscape60() // by Zhang Ãß°¡ // function XecureUnescape(Msg) // by Zhang Ãß°¡ // function XecureEscape(Msg) // by Zhang Ãß°¡ // function XecurePath(xpath) // by zhang Ãß°¡ /** * @mainpage XecureWeb SSL Client JavaScript API¸Þ´º¾ó * * @section Program XecureWeb SSL Client JavaScript * - ÇÁ·Î±×·¥ À̸§ : XecureWeb SSL Client JavaScript * - ÇÁ·Î±×·¥ ³»¿ë : XecureWeb SSL ClientÀÇ APIÀÇ °­È­µÈ ±â´ÉÀ» »ç¿ëÀÚ ÆíÀÇ¿¡ ¸Âµµ·Ï Á¦°øÇÑ´Ù. * * @section CREATEINFO ÀÛ¼ºÁ¤º¸ * - ÀÛ¼ºÀÏ : 2008/04/28 */ /** * @file xecureweb.js * xecureweb javascriptÀÇ ±¸Çöü * * @author PKI Part, Softforum R&D Team * @date 2008/04/28 * @attention Copyright (c) 2008 Softforum - All rights reserved. */ /** * @defgroup clientRequestCryptoAPI Ŭ¶óÀÌ¾ðÆ® Request ¾ÏÈ£ API * Ŭ¶óÀÌ¾ðÆ® Request ¾ÏÈ£ API
*/ /** * @defgroup serverResponseCryptoAPI ¼­¹ö Response º¹È£ API * ¼­¹ö Response º¹È£ API
*/ /** * @defgroup digitalSignAPI ÀüÀÚ¼­¸í API * ÀüÀÚ¼­¸í API
* @code * var sign_desc=¡±¡±; ( ¼­¸í¿ø¹® È®ÀÎâÀÇ ±âº» ¼³¸í¹® ) * var show_plain=1; ( 0 : ¼­¸í¿ø¹® È®ÀÎâ º¸ÀÌÁö ¾Ê±â , 1 : ¼­¸í¿ø¹® È®ÀÎâ º¸À̱â ) * var accept_cert = ¡°yessign,SoftForum CA¡±; (¼­¸í¿¡ »ç¿ëµÉ À¯È¿ÇÑ ÀÎÁõ±â°ü ¸ñ·Ï (CN) ) * // Yessign Test : yessignCA-TEST * // Yessign Real : yessignCA * // SignGate Test : SignGateFTCA * // SignGate Real : signGate CA * // SignKorea Test : SignKorea Test CA * // SignKorea Real : SignKorea CA * // ±âŸ ÀÎÁõ±â°üÀº¡¦¹ß±ÞÀÚ(ÀÎÁõ±â°ü)ÀÇCN * var pwd_fail = 3; (ÀÎÁõ¼­ ¾ÏÈ£ ¿À·ù¸¦ Çã¿ëȸ¼ö) * var xgate_addr = window.location.hostname + ¡°:443:8080¡±; * (¼­¹öÃø ¼¼¼Ç°ü¸®ÀÚÀÇ IP¿Í Æ÷Æ®¹øÈ£ , 443 : Direct port , 8080 : Proxy port ) * @endcode */ /** * @defgroup CMPAPI ÀÎÁõ¼­ ¹ß±Þ/°»½Å/Æó±â °ü·Ã CMP API * ÀÎÁõ¼­ ¹ß±Þ/°»½Å/Æó±â °ü·Ã CMP API
* @code * var ca_ip = ¡°203.233.91.232¡±; (YesSign °øÀÎ ÀÎÁõ±â°ü IP - Test) * var ca_ip = ¡°203.233.91.71¡±; (YesSign °øÀÎ ÀÎÁõ±â°ü IP - Real) * var ca_ip = "192.168.10.25;SoftforumCA"; (Xecure ÀÎÁõ±â°ü IP;CA Name) * var ca_port = 4512; (YesSign °øÀÎ ÀÎÁõ±â°ü Port ) * var ca_type = 11; (YesSign ÀÎÁõ±â°ü Type ? Test) * var ca_type = 1; (YesSign ÀÎÁõ±â°ü Type ? Real) * var ca_type = 101; (Xecure ÀÎÁõ±â°ü Type ? RSA) * var ca_type = 101+256; (Xecure ÀÎÁõ±â°ü Type ? RSA & CSP »ç¿ë½Ã Ű1½Ö¸¸ »ý¼º) * var ca_type = 102; (Xecure ÀÎÁõ±â°ü Type ? GPKI) * var pwd_fail = 3; (ÀÎÁõ¼­ ¾ÏÈ£ ¿À·ù¸¦ Çã¿ëȸ¼ö) * @endcode */ /** * @defgroup SFCA_CMPAPI SFCA ÀÎÁõ¼­ °ü·Ã API * SFCA ÀÎÁõ¼­ °ü·Ã API
* Linux System¿¡¼­´Â Áö¿øÇÏÁö ¾Ê´Â´Ù. */ /** * @defgroup etcAPI ±âŸ API * ±âŸ API
*/ var gIsContinue=0; var busy_info = "¾Ïȣȭ ÀÛ¾÷ÀÌ ÁøÇàÁßÀÔ´Ï´Ù. È®ÀÎÀ» ´©¸£½Ã°í Àá½Ã ±â´Ù·Á ÁֽʽÿÀ." /** * ¾Ïº¹È£½Ã ÆäÀÌÁö¿¡ ¸í½ÃµÈ ¹®ÀÚ¼ÂÀÇ »ç¿ë ¿©ºÎ
* XecureWeb Java ¹öÀü ¾Ïº¹È£½Ã ½Ã½ºÅÛ µðÆúÆ® ÀÎÄÚµù°ú ´Ù¸¥ ¹®ÀÚ¼ÂÀÇ
* ¸Þ¼¼Áö¸¦ ó¸®ÇÏ´Â °æ¿ì true ¼³Á¤ * * @since 6.0 v210 */ var usePageCharset=false; // YESSIGN CA ADDRESS////////////////////////////////////////////////////// // TEST : 203.233.91.234 // REAL : 203.233.91.71 //var yessign_ca_type = 1; // Yessign Real /** * ±Ý°á¿ø CAÀÇ Á¾·ù
* 1 : Yessign Real
* 11 : Yessign Test */ var yessign_ca_type = 11; // Yessign Test /** * ±Ý°á¿ø CAÀÇ ¼­ºñ½º IP */ var yessign_ca_ip = "203.233.91.234"; /** * ±Ý°á¿ø CAÀÇ ¼­ºñ½º Port */ var yessign_ca_port = 4512; // XECURE CA ADDRESS/////////////////////////////////////////////////////// // TEST : 192.168.10.30 var xecure_ca_type = 101; // XecureCA (RSA) //var xecure_ca_type = 102; // XecureCA (GPKI) var xecure_ca_ip = "192.168.10.25;SoftforumCA"; //var xecure_ca_ip = "192.168.10.25"; var xecure_ca_port = 8200; var xecure_ca_type_1 = 101; // XecureCA (RSA) //var xecure_ca_type = 102; // XecureCA (GPKI) var xecure_ca_ip_1 = "192.168.10.30;mma ca"; var xecure_ca_port_1 = 2223; /** * ÀüÀÚ¼­¸í, ÀÎÁõ¼­ °»½Å, ÀÎÁõ¼­ Æó±â½Ã¿¡ ÀÎÁõ¼­ ¾ÏÈ£¿À·ù¸¦ Çã¿ëȸ¼ö
*/ var pwd_fail = 3; /** * ¼­¸í¿¡ »ç¿ëµÉ À¯È¿ÇÑ ÀÎÁõ±â°ü ¸ñ·Ï (CN)
* Sign, RequestCertificate, RevokeCertificate ½Ã ³ªÅ¸³ª´Â ÀÎÁõ¼­ ¸ñ·Ï
* XecureWeb ver 5.1 ¿¡¼­´Â accept_cert ¿¡ À¯È¿ÇÑ ÀÎÁõ±â°ü ÀÎÁõ¼­ÀÇ
* CN À» Á¤È®È÷ Àû¾îÁØ´Ù.
* ver 4.0 ¿¡¼­ yessign À̶ó Àû¾ú´ø °ÍÀº yessignCA-TEST, yessignCA ·Î ¼¼ºÐÈ­ µÈ´Ù.
* YESSIGN TEST : yessignCA-TEST
* YESSIGN REAL : yessignCA
*/ var accept_cert = "CA131000002Test,Çѱ¹ÀüÀÚÀÎÁõ,MND CA,CrossCert Certificate Authority,CA131000002,Softforum CA 3.0,SoftforumCA,yessignCA,yessignCA-OCSP,signGATE CA,signGATE CA2,SignKorea CA,CrossCertCA,CrossCertCA-Test2,NCASign CA,TradeSignCA,yessignCA-TEST,lotto test CA,NCATESTSign,SignGateFTCA,SignKorea Test CA,TestTradeSignCA,Softforum Demo CA,mma ca,º´¹«Ã» ÀÎÁõ±â°ü,yessignCA Class 1,NCASignCA,signGATE CA4,SignKorea CA2,CrossCertCA2,TradeSignCA2,signGATE"; ////////////////////////////////////////////////////////////////////////////////// // ·Î±×ÀΠâ¿¡ º¸ÀÏ À̹ÌÁö¸¦ ´Ù¿î·Îµå ¹ÞÀ» URL //var bannerUrl = "http://" + window.location.host + "/XecureObject/xecure.bmp"; /** * ·Î±×ÀΠâ¿¡ º¸ÀÏ À̹ÌÁö¸¦ ´Ù¿î·Îµå ¹ÞÀ» URL
*/ var bannerUrl = "http://" + window.location.host + "/XecureObject/xecureweb_big.bmp"; /** * ÀÎÁõ±â°ü ÀÎÁõ¼­ ´Ù¿î·Îµå½Ã ÀÎÁõ±â°ü ÀÎÁõ¼­
*/ var pCaCertUrl= "http://" + window.location.host + "/XecureObject/signed_cacert.bin"; /** * ÀÎÁõ±â°ü ÀÎÁõ¼­ ´Ù¿î·Îµå½Ã ÀÎÁõ±â°ü ÀÎÁõ¼­ CN
*/ var pCaCertName = "shinbo real ca"; /** * ¼­¸í¿ø¹® È®ÀÎâÀÇ ±âº» ¼³¸í¹®
*/ var sign_desc = ""; /** * ÀüÀÚ¼­¸í È®ÀÎâ¿¡ º¸ÀÏ ¸Þ¼¼Áö¿Í ÀüÀÚ¼­¸í È®ÀÎâ º¸±â ¿É¼Ç
* 0 : ¼­¸í ¿ø¹® Ãâ·Â ¾ÈÇÔ, 1: ¼­¸í ¿ø¹® Ãâ·Â */ var show_plain = 0; /** * xgate ¼­¹ö ¸í:Æ÷Æ® ÁöÁ¤ , Æ÷Æ® »ý·«½Ã µðÆúÆ®·Î 443 Æ÷Æ® »ç¿ë
*/ var xgate_addr = window.location.hostname + ":443:8080"; /////////////////////////////////////////////////////////////////////////////////// // Netscape plugin version information var packageURL = 'http://' + window.location.host + '/XecureObject/NPXecSSL_Install.jar'; var versionMaj = 5; var versionMin = 1; var versionRel = 0; /** * °ü¸®Ã¢, ¼­¸íâ, Loginâ¿¡¼­ ÀÎÁõ¼­ List¸¦ ±¸ºÐÇÏ¿© ¹ß±ÞÀÚ¸¦ RenameÇÒ ¶§
* »ç¿ëÇϸç, ±¸ºÐÀº ÀÎÁõ¼­ÀÇ Á¤Ã¥°ªÀ» ±âÁØÀ¸·Î RenameµÇ°í, Default´Â »ç¼³ÀÎÁõ¼­ ÀÌ´Ù.
* ¹ß±ÞÀÚ´Â ÀÎÁõ¼­ ¹ß±ÞÀÚÀÇ CN°ªÀ» ±âÁØÀ¸·Î RenameµÈ´Ù.
* ÀÚ¼¼ÇÑ °ÍÀº SE¿¡°Ô ¹®ÀÇ.
* @ingroup etcAPI */ function SetConvertTable() { } function UserAgent() { return navigator.userAgent.substring(0,9); } function IsNetscape() // by Zhang { if(navigator.appName == 'Netscape') return true ; else return false ; } function IsNetscape60() // by Zhang { if(IsNetscape() && UserAgent() == 'Mozilla/5') return true ; else return false ; } function IsNetscape60() // by Zhang { if(IsNetscape() && UserAgent() == 'Mozilla/5') return true ; else return false ; } function XecureUnescape(Msg) // by Zhang { if(IsNetscape()) return unescape(Msg) ; else return Msg ; } /** * ÁÖ¾îÁø ¹®ÀÚ¿­À» Escape ó¸® ÇØÁØ´Ù.
* * @param Msg ¿ø¹® * @return EscapeµÈ ¹®ÀÚ¿­ */ function XecureEscape(Msg) // by Zhang { if(IsNetscape()) return escape(Msg) ; else return Msg ; } function XecurePath(xpath) // by zhang { if(IsNetscape()) return (xpath) ; else return ("/" + xpath) ; } function XecureAddQuery(qs) { if(qs == "") return "" ; else return "&" + qs ; } function XecureWebError() // by zhang { var errCode = 0 ; var errMsg = "" ; if( IsNetscape60() ) // Netscape 6.0 { errCode = document.XecureWeb.nsIXecurePluginInstance.LastErrCode(); errMsg = document.XecureWeb.nsIXecurePluginInstance.LastErrMsg(); } else { errCode = document.XecureWeb.LastErrCode(); errMsg = document.XecureWeb.LastErrMsg(); } if(errCode == -144) { if(confirm("¿¡·¯ÄÚµå : " + errCode + "\n\n" + XecureUnescape(errMsg) + "\n\n ÀÎÁõ¼­°ü¸®Ã¢À» ¿­°Ú½À´Ï±î?")) ShowCertManager() ; } // else if(errCode != 0) alert( "¿¡·¯ÄÚµå : " + errCode + "\n\n" + XecureUnescape(errMsg) ); return false; } /** * ISO Çü½ÄÀÇ urlÀ»ASCII ¹®ÀÚ¿­·Î ÀüȯÇÑ´Ù. * * @ingroup etcAPI * @param url escape ó¸®ÇÒ ¹®ÀÚ¿­ * @return escape ó¸®µÈ ¹®ÀÚ¿­ */ function escape_url(url) { var i; var ch; var out = ''; var url_string = ''; url_string = String(url); for (i = 0; i < url_string.length; i++) { ch = url_string.charAt(i); if (ch == ' ') out += '%20'; else if (ch == '%') out += '%25'; else if (ch == '&') out += '%26'; else if (ch == '+') out += '%2B'; else if (ch == '=') out += '%3D'; else if (ch == '?') out += '%3F'; else out += ch; } return out; } function ran_gen() { var maxnumbers = "999999"; var r = Math.round(Math.random() * (maxnumbers-1))+1+""; for(var i=0; i < 6-r.length; i++) r = "0" + r; return r; } /** * º¸¾È ¼¼¼ÇÀ» ¿¬°áÇϰí ÁÖ¾îÁø urlÀÇquery string ºÎºÐÀ» ¾Ïȣȭ ÇÏÁö ¾Ê°í À̵¿ÇÑ´Ù. script ( javascript ȤÀº VBscript ) ³»ºÎ¿¡¼­ À̵¿ÇÒ °æ¿ì »ç¿ë
*
* script¹® ¾È¿¡¼­ window.open À̳ª, document.location.href µîÀ» ÀÌ¿ëÇÑ ÆäÀÌÁö
* À̵¿½Ã¿¡ query stringÀ» ¾Ïȣȭ ÇÏÁö ¾Ê°í À̵¿ÇÒ °æ¿ì
* window.open, document.location.href ´ë½ÅXecureNavigate_NoEnc ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.
*
* Query stringÀÌ ¾ø´Â °æ¿ì : url?q=¾ÏȣȭµÈ SID
* Query stringÀÌ ÀÖ´Â °æ¿ì : url?q=¾ÏȣȭµÈ SID;¾Ïȣȭ µÇÁö ¾ÊÀº µ¥ÀÌÅÍ
*
* @ingroup clientRequestCryptoAPI * @param url : À̵¿ÇÒ URL * @param target À̵¿ÇÒ Å¸°Ù * @return Success : true
* Fail : false */ function XecureNavigate_NoEnc( url, target ) { var qs ; var path = "/"; var sid; var xecure_url; // get path info & query string & hash from url qs_begin_index = url.indexOf('?'); path = getPath(url) // get query string action url if ( qs_begin_index < 0 ) { qs = ""; } else { qs = url.substring(qs_begin_index + 1, url.length ); } if( gIsContinue == 0 ) { gIsContinue = 1; if( IsNetscape60() ) // Netscape 6.0 sid = document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, "", "GET"); else sid = document.XecureWeb.BlockEnc ( xgate_addr, path, "", "GET" ); gIsContinue = 0; } else { alert(busy_info); return false ; } if( sid == "") return XecureWebError(); xecure_url = path + "?q=" + sid + XecureAddQuery(qs); // adding character set information if(usePageCharset) xecure_url += "&charset=" + document.charset; open ( xecure_url, target ); } /** * º¸¾È ¼¼¼ÇÀ» ¿¬°áÇϰí ÁÖ¾îÁø urlÀÇquery stringÀ» ¾Ïȣȭ ÇÑÈÄ ÀÔ·ÂµÈ frame À¸·Î À̵¿ÇÑ´Ù. script ( javascript ȤÀº VBscript ) ³»ºÎ¿¡¼­ À̵¿ÇÒ °æ¿ì »ç¿ë
*
* script¹® ¾È¿¡¼­ window.open À̳ª, document.location.href µîÀ» ÀÌ¿ëÇÑ ÆäÀÌÁö À̵¿½Ã¿¡´Â window.open, document.location.href ´ë½Å
* XecureNavigate ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.
*
* Query stringÀÌ ¾ø´Â °æ¿ì : url?q=¾ÏȣȭµÈ SID
* Query stringÀÌ ÀÖ´Â °æ¿ì : url?q=¾ÏȣȭµÈ SID;¾ÏȣȭµÈ µ¥ÀÌÅÍ
*
* example>
* <script language=javascript>
* window.open ( ¡°/hello.php¡±, ¡°body¡± ) ;
* </script>
* ==>
* <script language=javascript>
* XecureNavigate ( ¡°/hello.php¡±, ¡°body¡± ) ;
* </script>
* * @ingroup clientRequestCryptoAPI * @param url À̵¿ÇÒ URL
* @param target °á°ú È­¸éÀÌ Ãâ·ÂµÉ frame¸í
* @param feature »õ·Î¿î â¿¡ ´ëÇÑ ¼ºÁú ( â Å©±â µîµî ) ? ¿É¼Ç * * @return Success : true
* Fail : false * */ function XecureNavigate( url, target, feature ) { var qs ; var path = "/"; var cipher; var xecure_url; // get path info & query string & hash from url qs_begin_index = url.indexOf('?'); path = getPath(url) // get query string action url if ( qs_begin_index < 0 ) { qs = ""; } else { qs = url.substring(qs_begin_index + 1, url.length ); } if( gIsContinue == 0 ) { gIsContinue = 1; if( IsNetscape60() ) // Netscape 6.0 cipher = document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, XecureEscape(qs), "GET"); else cipher = document.XecureWeb.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET"); gIsContinue = 0; } else { alert(busy_info); return false; } if( cipher == "" ) return XecureWebError(); xecure_url = path + "?q=" + escape_url(cipher); // adding character set information if(usePageCharset) xecure_url += "&charset=" + document.charset; if (feature=="" || feature==null) open ( xecure_url, target ); else open(xecure_url, target, feature ); } /** * ÀüÀÚºÀÅõ¸¦ Áö¿øÇÏ´Â XecureNagivate
* * @ingroup clientRequestCryptoAPI * @since XecureWeb 6.0 v220 * @see XecureNavigate */ function XecureNavigate_Env( url, target, feature ) { var qs ; var path = "/"; var cipher; var xecure_url; // get path info & query string & hash from url qs_begin_index = url.indexOf('?'); path = getPath(url) // get query string action url if ( qs_begin_index < 0 ) { qs = ""; } else { qs = url.substring(qs_begin_index + 1, url.length ); } if( gIsContinue == 0 ) { gIsContinue = 1; //cipher = document.XecureWeb.BlockEnc(xgate_addr, path, XecureEscape(qs), "GET"); cipher = EnvelopData(XecureEscape(qs), "", serverCert, 1); gIsContinue = 0; } else { alert(busy_info); return false; } if( cipher == "" ) return XecureWebError(); //xecure_url = path + "?q=" + escape_url(cipher); xecure_url = path + "?eq=" + escape_url(cipher); // adding character set information if(usePageCharset) xecure_url += "&charset=" + document.charset; if (feature=="" || feature==null) { open ( xecure_url, target ); } else { open(xecure_url, target, feature ); } } /** * º¸¾È¼¼¼ÇÀ» ¿¬°áÇÏ°í ¹®À» ÀÌ¿ëÇÏ¿© ÁÖ¾îÁø linkÀÇquery stringÀ» ¾Ïȣȭ ÇÏ¿© Àü¼ÛÇÑ´Ù.
* ÀÌ ÇÔ¼ö°¡ È£ÃâµÇ¸é ÄÁÆ®·ÑÀº ClientSM ¿¡°Ô xgate¿ÍSSL handshakingÀ» ¿äûÇÏ¿© »õ·Î¿î º¸¾È ¼¼¼ÇÀ»
* ¿¬°áÇϰųª ¿¬°áµÈ º¸¾È¼¼¼ÇÀÌ ÀÖÀ¸¸é Resume¿¡ µé¾î°£´Ù. javascript onClick À̺¥Æ®¸¦ »ç¿ëÇÏ¿©
* XecureLink ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. ÀÌ ÇÔ¼ö°¡ ½ÇÇàµÇ¾î ÁÖ¾îÁø url·Î À̵¿ÇÒ ¶§append µÇ´Â query stringÀº
* ´ÙÀ½ÀÇ Çü½ÄÀÌ´Ù.
*
* ¾ÏȣȭµÈ µ¥ÀÌÅͰ¡ ¾ø´Â °æ¿ì : url?q=¾ÏȣȭµÈ SID
* ¾ÏȣȭµÈ µ¥ÀÌÅͰ¡ ÀÖ´Â °æ¿ì : url?q=¾ÏȣȭµÈ SID;¾ÏȣȭµÈ µ¥ÀÌÅÍ
*
* ex>
*
¾ÏÈ£
* * @ingroup clientRequestCryptoAPI * @param link link °´Ã¼ * @return Success : true * Fail : false k*/ function XecureLink( link ) { var qs ; // var path = "/"; var cipher; // get path info & query string from action url if ( link.protocol != "http:" ) { // alert ( "http ÇÁ·ÎÅäÄݸ¸ »ç¿ë °¡´ÉÇÕ´Ï´Ù." ); return true; } qs = link.search; if ( qs.length > 1 ) { qs = link.search.substring(1); } hash = link.hash; if( gIsContinue == 0 ) { path = XecurePath(link.pathname) ; gIsContinue = 1; if( IsNetscape60() ) // Netscape 6.0 cipher = document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, XecureEscape(qs), "GET"); else { //cipher = document.XecureWeb.BlockEnc(xgate_addr, "/XecureDemo/jsp/ibs/transfer_input.jsp", XecureEscape(qs),"GET"); cipher = document.XecureWeb.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET"); } gIsContinue = 0; } else { alert(busy_info); return false; } if( cipher.length == 0) return XecureWebError() ; // link.search = "?q=" + escape_url(cipher); xecure_url = "http://" + link.host + path + hash + "?q=" + escape_url(cipher); // adding character set information if(usePageCharset) xecure_url += "&charset=" + document.charset; if ( link.target == "" || link.target == null ) open ( xecure_url, "_self" ); else open( xecure_url, link.target ); return false; } /** * ÀüÀÚºÀÅõ¸¦ Áö¿øÇÏ´Â XecureLink
* * @ingroup clientRequestCryptoAPI * @since XecureWeb 6.0 v220 * @see XecureLink */ function XecureLink_Env( link ) { var qs ; // var path = "/"; var cipher; // get path info & query string from action url if ( link.protocol != "http:" ) { // alert ( "http ÇÁ·ÎÅäÄݸ¸ »ç¿ë °¡´ÉÇÕ´Ï´Ù." ); return true; } qs = link.search; if ( qs.length > 1 ) { qs = link.search.substring(1); } hash = link.hash; if( gIsContinue == 0 ) { path = XecurePath(link.pathname) ; gIsContinue = 1; //cipher = document.XecureWeb.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET"); cipher = EnvelopData(XecureEscape(qs), "", serverCert, 1); gIsContinue = 0; } else { alert(busy_info); return false; } if( cipher.length == 0) return XecureWebError() ; // link.search = "?q=" + escape_url(cipher); //xecure_url = "http://" + link.host + path + hash + "?q=" + escape_url(cipher); xecure_url = "http://" + link.host + path + hash + "?eq=" + escape_url(cipher); // adding character set information if(usePageCharset) xecure_url += "&charset=" + document.charset; if ( link.target == "" || link.target == null ) open ( xecure_url, "_self" ); else open( xecure_url, link.target ); return false; } /** * º¸¾È ¼¼¼ÇÀ» ¿¬°áÇϰí <form> ¹®¿¡ ÀÔ·ÂµÈ µ¥ÀÌÅ͸¦ ¾Ïȣȭ ÇÏ¿© Àü¼ÛÇÑ´Ù.
* ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇϱâ À§Çؼ­´Â ¹Ýµå½Ã
* <form name=¡¯xecure¡¯><input type=hidden name=¡¯p¡¯></form> ÀÌ ÆäÀÌÁö ³»¿¡ À§Ä¡Çϵµ·Ï ÇÑ´Ù.
*
* ÀÌ ÇÔ¼ö°¡ È£ÃâµÇ¸é ÄÁÆ®·ÑÀº ClientSM ¿¡°Ô xgate¿ÍSSL handshakingÀ» ¿äûÇÏ¿© »õ·Î¿î º¸¾È ¼¼¼ÇÀ» ¿¬°áÇϰųª
* ¿¬°áµÈ º¸¾È¼¼¼ÇÀÌ ÀÖÀ¸¸é Resume¿¡ µé¾î°£´Ù. javascript onSubmit À̺¥Æ®¸¦ »ç¿ëÇÏ¿© XecureSubmit ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. *
* <ÁÖ¾îÁø form ¹®ÀÇ method°¡ ¡®GET¡¯ ÀÎ °æ¿ì>
* form ¹®ÀÇ ÀÔ·ÂÇʵåµéÀ» input1=x&input2=&¡¦ Çü½ÄÀ¸·Î ¸¸µé¾î¼­ ÄÁÆ®·Ñ¿¡ º¸³»¸é ÄÁÆ®·ÑÀº º¸¾È¼¼¼ÇÀ» ¿¬°á/Resume ÇÑÈÄ
* ÀÔ·ÂµÈ µ¥ÀÌÅ͸¦ ¾ÏȣȭÇÏ¿© ¸®ÅÏÇÑ´Ù. ¾ÏÈ£¹®À» ¹Þ¾Æ¼­ attach ÇÑÈÄ target url·Î Àü¼ÛÇÑ´Ù. * À̶§ ÁÖ¾îÁø formÀÇaction¿¡query stringÀÌ ÀÖ´Â °æ¿ì ÀÌquery stringÀº ¹«½ÃµÇ°í Àü¼ÛµÇÁö ¾Ê´Â´Ù. *
* <ÁÖ¾îÁø form ¹®ÀÇ method°¡ ¡®POST¡¯ ÀÎ °æ¿ì>
* formÀÇaction¿¡ ÁÖ¾îÁø query stringÀ» ÄÁÆ®·Ñ¿¡ º¸³»¸é ÄÁÆ®·ÑÀº º¸¾È¼¼¼ÇÀ» ¿¬°á/ResumeÇÑ ÈÄ ÀÔ·ÂµÈ µ¥ÀÌÅ͸¦
* ¾Ïȣȭ ÇÏ¿© ¸®ÅÏÇÑ´Ù. ¾ÏÈ£¹®À» ¹Þ¾Æ¼­ url?q=xxx ÇüÅ·ΠÀÌ¹Ì ¼±¾ðµÈ xecure frameÀÇaction À¸·Î ÁöÁ¤ÇÑ´Ù. * form ¹®ÀÇ ÀÔ·ÂÇʵåµéÀ» input1=x&input2=&¡¦ Çü½ÄÀ¸·Î ¸¸µé¾î¼­ ÄÁÆ®·Ñ¿¡ º¸³»¸é ÄÁÆ®·ÑÀº (1) °úÁ¤¿¡¼­ ¿¬°á/ResumeµÈ
* ¼¼¼ÇÁ¤º¸¸¦ ÀÌ¿ëÇÏ¿© form ¹®ÀÇ ÀÔ·ÂÇʵåµéÀ» ¾Ïȣȭ ÇÏ¿© ¸®ÅÏÇÑ´Ù. * Xecure frameÀÇpÇʵ忡 ¸®ÅÏµÈ ¾ÏÈ£¹®À» ÀúÀåÇÑÈÄ
* xecure.summit() À¸·Î (1)¿¡¼­ ÁöÁ¤µÈ url·Î À̵¿ÇÑ´Ù.
*
* ¾ÏȣȭµÈ µ¥ÀÌÅͰ¡ ¾ø´Â °æ¿ì : url?q=¾ÏȣȭµÈ SID
* ¾ÏȣȭµÈ µ¥ÀÌÅͰ¡ ÀÖ´Â °æ¿ì : url?q=¾ÏȣȭµÈ SID;¾ÏȣȭµÈ µ¥ÀÌÅÍ
*
* example>
* <form name=¡¯xecure¡¯><input type=hidden name=¡¯p¡¯></form>
*
* <form name=transfer action=¡±enc_demo_result.php¡± method=¡±post¡±
* onSubmit=¡±return XecureSubmit(this);¡±>
* ...
* </form>
* * @ingroup clientRequestCryptoAPI * @param form : form °´Ã¼ * @return Success : true
* Fail : false */ function XecureSubmit( form ) { var qs ; var path ; var cipher; qs_begin_index = form.action.indexOf('?'); // if action is relative url, get base url from window location path = getPath(form.action) // get path info & query string & hash from action url if ( qs_begin_index < 0 ) { qs = ""; } else { qs = form.action.substring(qs_begin_index + 1, form.action.length ); } document.xecure.target = form.target; if ( form.method == "get" || form.method=="GET" ) { // collect input field values //qs = XecureMakePlain( form ); if(qs.length!=0) qs += "&"+XecureMakePlain( form ); else qs = XecureMakePlain( form ); // encrypt QueryString if( gIsContinue == 0 ) { gIsContinue = 1; if( IsNetscape60() ) // Netscape 6.0 cipher = document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET"); else{ cipher = document.XecureWeb.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET"); } gIsContinue = 0; } else { alert(busy_info); return false; } if( cipher == "" ) return XecureWebError() ; xecure_url = path + "?q=" + escape_url(cipher); // adding character set information if(usePageCharset) xecure_url += "&charset=" + document.charset; if ( form.target == "" || form.target == null ) open( xecure_url, "_self"); else open ( xecure_url, form.target ); } else { document.xecure.method = "post"; // encrypt QueryString of action field if( gIsContinue == 0 ) { gIsContinue = 1; if( IsNetscape60() ) // Netscape 6.0 cipher = document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET"); else { cipher = document.XecureWeb.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET"); } gIsContinue = 0; } else { alert(busy_info); return false; } if( cipher == "" ) return XecureWebError() ; document.xecure.action = path + "?q=" + escape_url(cipher); // adding character set information if(usePageCharset) document.xecure.action += "&charset=" + document.charset; posting_data = XecureMakePlain( form ); if( gIsContinue == 0 ) { gIsContinue = 1; if( IsNetscape60() ) // Netscape 6.0 cipher = document.XecureWeb.nsIXecurePluginInstance.BlockEnc ( xgate_addr, path, XecureEscape(posting_data), "POST" ); else{ cipher = document.XecureWeb.BlockEnc ( xgate_addr, path, XecureEscape(posting_data), "POST" ); } gIsContinue = 0; } else { alert(busy_info); return false; } if( cipher == "" ) return XecureWebError() ; document.xecure.p.value = cipher; document.xecure.submit(); } return false; } /** * ÀüÀÚºÀÅõ¸¦ Áö¿øÇÏ´Â XecureSubmit
* * @ingroup clientRequestCryptoAPI * @since XecureWeb 6.0 v220 * @see XecureSubmit */ function XecureSubmit_Env( form ) { var qs ; var path ; var cipher; qs_begin_index = form.action.indexOf('?'); // if action is relative url, get base url from window location path = getPath(form.action) // get path info & query string & hash from action url if ( qs_begin_index < 0 ) { qs = ""; } else { qs = form.action.substring(qs_begin_index + 1, form.action.length ); } document.xecure.target = form.target; if ( form.method == "get" || form.method=="GET" ) { // collect input field values if(qs.length!=0) qs += "&"+XecureMakePlain( form ); else qs = XecureMakePlain( form ); // encrypt QueryString if( gIsContinue == 0 ) { gIsContinue = 1; //cipher = document.XecureWeb.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET"); cipher = EnvelopData(XecureEscape(qs), "", serverCert, 1); gIsContinue = 0; } else { alert(busy_info); return false; } if( cipher == "" ) return XecureWebError() ; //xecure_url = path + "?q=" + escape_url(cipher); xecure_url = path + "?eq=" + escape_url(cipher); // adding character set information if(usePageCharset) xecure_url += "&charset=" + document.charset; if ( form.target == "" || form.target == null ) open( xecure_url, "_self"); else open ( xecure_url, form.target ); } else { document.xecure.method = "post"; // encrypt QueryString of action field if( gIsContinue == 0 ) { gIsContinue = 1; //cipher = document.XecureWeb.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET"); cipher = EnvelopData(XecureEscape(qs), "", serverCert, 1); gIsContinue = 0; } else { alert(busy_info); return false; } if( cipher == "" ) return XecureWebError() ; //document.xecure.action = path + "?q=" + escape_url(cipher); document.xecure.action = path + "?eq=" + escape_url(cipher); // adding character set information if(usePageCharset) document.xecure.action += "&charset=" + document.charset; posting_data = XecureMakePlain( form ); if( gIsContinue == 0 ) { gIsContinue = 1; //cipher = document.XecureWeb.BlockEnc ( xgate_addr, path, XecureEscape(posting_data), "POST" ); cipher = EnvelopData(XecureEscape(posting_data), "", serverCert, 1); gIsContinue = 0; } else { alert(busy_info); return false; } if( cipher == "" ) return XecureWebError() ; //document.xecure.p.value = cipher; document.xecure.ep.value = cipher; document.xecure.submit(); } return false; } function XecureMakePlain_Org(form) { var name = new Array(form.elements.length); var value = new Array(form.elements.length); var flag = false; var j = 0; var plain_text=""; var enable=false;//for softcamp //for softcamp if(document.secukey==null || typeof(document.secukey) == "undefined" || document.secukey.object==null) { enable=false; } else { enable=secukey.GetSecuKeyEnable(); } len = form.elements.length; for (i = 0; i < len; i++) { if ((form.elements[i].type != "button") && (form.elements[i].type != "reset") && (form.elements[i].type != "submit")) { if (form.elements[i].type == "radio" || form.elements[i].type == "checkbox") { // Leejh 99.11.10 checkboxÃß°¡ if (form.elements[i].checked == true) { name[j] = form.elements[i].name; value[j] = form.elements[i].value; j++; } } //for softcamp else if(enable && form.elements[i].type == "password"){ if(form.elements[i].type == "password"){ name[j] = form.elements[i].name; value[j] = secukey.GetRealPass(form.elements[i].name,form.elements[i].value); j++; } } else { name[j] = form.elements[i].name; if (form.elements[i].type == "select-one") { var ind = form.elements[i].selectedIndex; if (form.elements[i].options[ind].value != '') value[j] = form.elements[i].options[ind].value; else value[j] = form.elements[i].options[ind].text; // form.elements[i].selectedIndex = 0; } else { value[j] = form.elements[i].value; } j++; } } } for (i = 0; i < j; i++) { str = value[i]; value[i] = escape_url(str); } for (i = 0; i < j; i++) { if (flag) plain_text += "&"; else flag = true; plain_text += name[i] ; plain_text += "="; plain_text += value[i]; } return plain_text; } /** * ÁÖ¾îÁø form ¹®ÀÇ ÀÔ·ÂÇʵåÁß typeÀÌbutton/reset/submitÀÎ °ÍÀ» Á¦¿ÜÇϰí
* aa=bb&cc=dd&ee=¡¦ Çü½ÄÀ¸·Î ÀçÀÛ¼ºÇÏ¿© ¸®ÅÏÇÑ´Ù. * * @param form form °´Ã¼ * @return Form ¹®ÀÇ ÀÔ·ÂÇʵå·Î »õ·ÎÀÌ ÀÛ¼ºÇÑ µ¥ÀÌÅÍ */ function XecureMakePlain(form) // modified by tiger on 2004/12/22 { var name = new Array(form.elements.length); var value = new Array(form.elements.length); var flag = false; var j = 0; var plain_text=""; //for softcamp if(document.secukey==null || typeof(document.secukey) == "undefined" || document.secukey.object==null) { enable=false; } else { enable=secukey.GetSecuKeyEnable(); } len = form.elements.length; for (i = 0; i < len; i++) { if ((form.elements[i].type != "button") && (form.elements[i].type != "reset") && (form.elements[i].type != "submit")) { if (form.elements[i].type == "radio" || form.elements[i].type == "checkbox") { if (form.elements[i].checked == true) { if (form.elements[i].disabled == false) { name[j] = form.elements[i].name; value[j] = form.elements[i].value; j++; } } } //for softcamp else if(enable && form.elements[i].type == "password"){ if(form.elements[i].type == "password"){ name[j] = form.elements[i].name; value[j] = secukey.GetRealPass(form.elements[i].name,form.elements[i].value); j++; } } else { name[j] = form.elements[i].name; if (form.elements[i].type == "select-one") { var ind = form.elements[i].selectedIndex; var op_len = form.elements[i].length; if (op_len > 0) { if(ind > 0) { if (form.elements[i].options[ind].value != '') value[j] = form.elements[i].options[ind].value; else //value[j] = form.elements[i].options[ind].text; value[j] = ""; } else { if(ind == 0) { if (form.elements[i].options[ind].value != '') value[j] = form.elements[i].options[ind].value; else //value[j] = form.elements[i].options[ind].text; value[j] = ""; } } // form.elements[i].selectedIndex = 0; } } else if (form.elements[i].type == "select-multiple") { var llen = form.elements[i].length; var increased = 0; for( k = 0; k < llen; k++) { if (form.elements[i].options[k].selected) { name[j] = form.elements[i].name; if (form.elements[i].options[k].value != '') value[j] = form.elements[i].options[k].value; else //value[j] = form.elements[i].options[k].text; value[j] = ""; j++; increased++; } } if(increased > 0) { j--; } else { value[j] = ""; } } else { value[j] = form.elements[i].value; } j++; } } } for (i = 0; i < j; i++) { str = value[i]; value[i] = escape_url(str); } for (i = 0; i < j; i++) { if (flag) plain_text += "&"; else flag = true; plain_text += name[i] ; plain_text += "="; if (value[i] !="undefined"){ plain_text += value[i]; }else { plain_text += ""; } } return plain_text; } /*************For Applet**********************/ function BlockEnc(auth_type,plain_text) { var cipher = ""; if( IsNetscape60() ) // Netscape 6.0 cipher = XecureUnescape(document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr,auth_type,plain_text,"GET")); else cipher = XecureUnescape(document.XecureWeb.BlockEnc(xgate_addr,auth_type,plain_text,"GET")); if( cipher == "" ) XecureWebError() ; return cipher; } /** * ¿¬°áµÈ ¼¼¼ÇÁ¤º¸¸¦ ã¾Æ¼­ ÇØ´ç Ű·Î ¾ÏÈ£¹®À» º¹È£È­ÇÑ´Ù.
* * @ingroup serverResponseCryptoAPI * @param cipher º¹È£È­ÇÒ ¾ÏÈ£¹® * @return Success : º¹È£È­µÈ Æò¹®
* Fail : empty string (¡°¡±) */ function BlockDec(cipher) { var plain = ""; if( IsNetscape60() ) // Netscape 6.0 plain = XecureUnescape(document.XecureWeb.nsIXecurePluginInstance.BlockDec( xgate_addr, cipher)); else { plain = XecureUnescape(document.XecureWeb.BlockDec( xgate_addr, cipher)); } if( plain == "" ) XecureWebError() ; return plain; } /** * ¿¬°áµÈ ¼¼¼ÇÁ¤º¸¸¦ ã¾Æ¼­ ÇØ´ç Ű·Î ¾ÏȣȭµÈ XML µ¥ÀÌÅ͸¦ º¹È£È­ÇÑ´Ù. * * @ingroup serverResponseCryptoAPI * @param cipher : º¹È£È­ÇÒ XML dataÀÇ ¾ÏÈ£¹® * @return Success : º¹È£È­µÈ Æò¹®
* Fail : empty string (¡°¡±) */ function BlockXMLDec(cipher) { var path = ""; if( IsNetscape60() ) // Netscape 6.0 path = XecureUnescape(document.XecureWeb.nsIXecurePluginInstance.BlockXMLDec( xgate_addr, cipher)); else path = XecureUnescape(document.XecureWeb.BlockXMLDec( xgate_addr, cipher)); if( path == "" ) XecureWebError() ; return path; } /** * º¸¾È¼¼¼ÇÀ» ¿¬°áÇÏ°í ¹®À» ÀÌ¿ëÇÏ¿© ÁÖ¾îÁø linkÀÇquery stringÀ» ¾Ïȣȭ ÇÏ¿© Àü¼ÛÇÑ´Ù.
* ex> *
·Î±×ÀÎ * * @param link link °´Ã¼ * @return Success : true
* Fail : false */ function XecureLogIn( link ) { EndSession(); return XecureLink(link); } /** * Xgate_addr¿¡ ÇØ´çÇÏ´Â º¸¾È¼¼¼ÇÀ» °­Á¦·Î Á¾·áÇÑ´Ù. * * @ingroup etcAPI * @return Success : 0
* Fail : ¿À·ùÄÚµå */ function EndSession() { if( IsNetscape60() ) // Netscape 6.0 document.XecureWeb.nsIXecurePluginInstance.EndSession( xgate_addr ); else document.XecureWeb.EndSession(xgate_addr); } // XecureWeb ver 4.1 add // option : 0 : no confirm window, all certificates // option : 1 : confirm window, all certificates // option : 2 : no confirm window, log-on certificate only // option : 3 : confirm window, log-on certificate only /** * ÁÖ¾îÁø µ¥ÀÌÅÍ¿¡ ÀüÀÚ ¼­¸íÀ» ÇÑ´Ù.
* ¼­¸í¿ø¹® È®ÀÎâ Diplay À¯¹« ¹× ÀÎÁõ¼­ ¼±Åà Á¦¾î¸¦ ÇÒ ¼ö ÀÖ´Ù.
* ÀÌ ÇÔ¼ö¸¦ È£ÃâÇϸé ÀüÀÚ¼­¸í¸¸ ÀÌ·ç¾îÁú »Ó º¸¾È¼¼¼ÇÀÌ ¿¬°áµÇÁö´Â ¾Ê´Â´Ù.
*
* @param option : 0 : ¼­¸í¿ø¹® È®ÀÎâ No Display, ¸ðµç ÀÎÁõ¼­ ¼­¸í °¡´ÉÇϰÔ
* 1 : ¼­¸í¿ø¹® È®ÀÎâ Display, ¸ðµç ÀÎÁõ¼­ ¼­¸í °¡´ÉÇϰÔ
* 2 : ¼­¸í¿ø¹® È®ÀÎâ No Display, Login½Ã ÀÎÁõ¼­·Î¸¸ ¼­¸í °¡´ÉÇϰÔ
* 3 : ¼­¸í¿ø¹® È®ÀÎâ Display, Login½Ã ÀÎÁõ¼­·Î¸¸ ¼­¸í °¡´ÉÇϰÔ
* @param plain : ¼­¸íÇϰíÀÚ ÇÏ´Â ¼­¸í ¿ø¹® * @return Success : ¼­¸íµÈ ¹®¼­[ÀüÀÚ¼­¸í¹®=¿ø¹®+¼­¸í°ª+ÀÎÁõ¼­]
* Fail : empty string (¡°¡±) */ function Sign_with_option( option, plain ) { // PutMobisignData(); //¸ðºñ½ÎÀΠȣÃâ PutUBIKey(); //ÈÞ´ëÆùÀÎÁõ¼­¼­ºñ½º Àû¿ë var signed_msg; if( IsNetscape60() ) // Netscape 6.0 signed_msg = document.XecureWeb.nsIXecurePluginInstance.SignDataCMS( xgate_addr, escape(accept_cert), escape(plain), option, escape(sign_desc), pwd_fail); else signed_msg = document.XecureWeb.SignDataCMS( xgate_addr, XecureEscape(accept_cert), XecureEscape(plain), option, XecureEscape(sign_desc), pwd_fail); if( signed_msg == "" ) XecureWebError(); return signed_msg; } /** * ÁÖ¾îÁø ¼­¸í µ¥ÀÌÅÍ¿¡ ÀüÀÚ ¼­¸íÀ» ÇÑ´Ù.
* ¼­¸í¿ø¹® È®ÀÎâ Diplay À¯¹« ¹× ÀÎÁõ¼­ ¼±Åà Á¦¾î¸¦ ÇÒ ¼ö ÀÖ´Ù.
* ÀÌ ÇÔ¼ö¸¦ È£ÃâÇϸé ÀüÀÚ¼­¸í¸¸ ÀÌ·ç¾îÁú »Ó º¸¾È¼¼¼ÇÀÌ ¿¬°áµÇÁö´Â ¾Ê´Â´Ù.
*
* @ingroup digitalSignAPI * @param option 0 : ¼­¸í¿ø¹® È®ÀÎâ No Display, ¸ðµç ÀÎÁõ¼­ ¼­¸í °¡´ÉÇϰÔ
* 1 : ¼­¸í¿ø¹® È®ÀÎâ Display, ¸ðµç ÀÎÁõ¼­ ¼­¸í °¡´ÉÇϰÔ
* 2 : ¼­¸í¿ø¹® È®ÀÎâ No Display, Login½Ã ÀÎÁõ¼­·Î¸¸ ¼­¸í °¡´ÉÇϰÔ
* 3 : ¼­¸í¿ø¹® È®ÀÎâ Display, Login½Ã ÀÎÁõ¼­·Î¸¸ ¼­¸í °¡´ÉÇÏ°Ô * @param plain ¼­¸íÇϰíÀÚ ÇÏ´Â ¼­¸í ¿ø¹® * * @return Success : ¼­¸íµÈ ¹®¼­[ÀüÀÚ¼­¸í¹®=¿ø¹®+¼­¸í°ª+ÀÎÁõ¼­(n)]
* Fail : empty string (¡°¡±) */ function Sign_Add( option, plain ) { var signed_msg; signed_msg = document.XecureWeb.SignDataAdd ( xgate_addr, accept_cert, plain, option, sign_desc, pwd_fail ); if( signed_msg == "" ) XecureWebError() ; return signed_msg; } /** * ÁÖ¾îÁø µ¥ÀÌÅÍ¿¡ ÀüÀÚ¼­¸íÀ» ÇÑ´Ù.
* ¼­¸í¿ø¹® È®ÀÎâÀÌ ¶ã °æ¿ì âÀÇ ¼³¸í¹®Àº sign_desc ÀÌ´Ù.
* ÀÌ ÇÔ¼ö¸¦ È£ÃâÇϸé ÀüÀÚ¼­¸í¸¸ ÀÌ·ç¾îÁú »Ó º¸¾È¼¼¼ÇÀÌ ¿¬°áµÇÁö´Â ¾Ê´Â´Ù.
* @ingroup digitalSignAPI * @param plain : ¼­¸íÇϰíÀÚ ÇÏ´Â ¼­¸í ¿ø¹® * @return Success : ¼­¸íµÈ ¹®¼­[ÀüÀÚ¼­¸í¹®=¿ø¹®+¼­¸í°ª+ÀÎÁõ¼­]
* Fail : empty string (¡°¡±) */ function Sign( plain ) { var signed_msg; if( IsNetscape60() ) // Netscape 6.0 { signed_msg = document.XecureWeb.nsIXecurePluginInstance.SignDataCMS( xgate_addr, XecureEscape(accept_cert), XecureEscape(plain), show_plain, XecureEscape(sign_desc) ); } else { signed_msg = document.XecureWeb.SignDataCMS( xgate_addr, XecureEscape(accept_cert), XecureEscape(plain), show_plain, XecureEscape(sign_desc) ); } if( signed_msg == "" ) XecureWebError() ; return signed_msg; } /** * ÁÖ¾îÁø µ¥ÀÌÅÍ¿¡ ÀüÀÚ ¼­¸íÀ» ÇÑ´Ù.
* ¼­¸í¿ø¹® È®ÀÎâÀÇ ¼³¸í¹®À» Àü´ÞÇÒ ¼ö ÀÖ´Ù.
* ÀÌ ÇÔ¼ö¸¦ È£ÃâÇϸé ÀüÀÚ¼­¸í¸¸ ÀÌ·ç¾îÁú »Ó º¸¾È¼¼¼ÇÀÌ ¿¬°áµÇÁö´Â ¾Ê´Â´Ù.
* @ingroup digitalSignAPI * @param plain ¼­¸íÇϰíÀÚ ÇÏ´Â ¼­¸í ¿ø¹® * @param desc ¼­¸í¿ø¹® È®ÀÎâÀÇ ¼³¸í¹® * @return Success : ¼­¸íµÈ ¹®¼­[ÀüÀÚ¼­¸í¹®=¿ø¹®+¼­¸í°ª+ÀÎÁõ¼­]
* Fail : empty string (¡°¡±) */ function Sign_with_desc( plain, desc ) { // PutMobisignData(); //¸ðºñ½ÎÀΠȣÃâ PutUBIKey(); //ÈÞ´ëÆùÀÎÁõ¼­¼­ºñ½º Àû¿ë var signed_msg; if( IsNetscape60() ) // Netscape 6.0 signed_msg = document.XecureWeb.nsIXecurePluginInstance.SignDataCMS( xgate_addr, XecureEscape(accept_cert), XecureEscape(plain), show_plain, XecureEscape(desc) ); else signed_msg = document.XecureWeb.SignDataCSM( xgate_addr, XecureEscape(accept_cert), XecureEscape(plain), show_plain, XecureEscape(desc) ); if( signed_msg == "" ) XecureWebError() ; return signed_msg; } // XecureWeb ver 4.1 add // option : 0 : no confirm window, all certificates // option : 1 : confirm window, all certificates // option : 2 : no confirm window, log-on certificate only // option : 3 : confirm window, log-on certificate only // XecureWeb ver 5.0 add /** * ÁÖ¾îÁø ¼­¸í µ¥ÀÌÅÍ¿¡ ÀüÀÚ ¼­¸íÀ» ÇÑ´Ù.
* ¼­¸í¿ø¹® È®ÀÎâ Diplay À¯¹« ¹× ÀÎÁõ¼­ ¼±Åà Á¦¾î¸¦ ÇÒ ¼ö ÀÖ´Ù.
* ÀÌ ÇÔ¼ö¸¦ È£ÃâÇϸé ÀüÀÚ¼­¸í¸¸ ÀÌ·ç¾îÁú »Ó º¸¾È¼¼¼ÇÀÌ ¿¬°áµÇÁö´Â ¾Ê´Â´Ù.
* ½Äº°¹øÈ£°¡ ÁÖÀÔµÈ ÀÎÁõ¼­´Â ¼­¸íâ¿¡¼­ »ç¿ëÀÚÀÇ IDNÀ» ÀÔ·Â Çϸç, send_vid_info() ¸¦ ÅëÇØ ½Äº° ¹øÈ£ °ËÁõÀ» À§ÇØ ¾Ïȣȭ µÈ °ªÀ» °¡Á®¿Ã ¼ö ÀÖ´Ù.
*
* @ingroup digitalSignAPI * @param option 0 : ¼­¸í¿ø¹® È®ÀÎâ No Display, ¸ðµç ÀÎÁõ¼­ ¼­¸í °¡´ÉÇϰÔ
* 1 : ¼­¸í¿ø¹® È®ÀÎâ Display, ¸ðµç ÀÎÁõ¼­ ¼­¸í °¡´ÉÇϰÔ
* 2 : ¼­¸í¿ø¹® È®ÀÎâ No Display, Login½Ã ÀÎÁõ¼­·Î¸¸ ¼­¸í °¡´ÉÇϰÔ
* 3 : ¼­¸í¿ø¹® È®ÀÎâ Display, Login½Ã ÀÎÁõ¼­·Î¸¸ ¼­¸í °¡´ÉÇÏ°Ô * @param plain ¼­¸íÇϰíÀÚ ÇÏ´Â ¼­¸í ¿ø¹® * @param svrCert IDN, R °ªÀ» ¾ÏȣȭÇϱâ À§ÇÑ ÀÎÁõ¼­ ( pem type ) * * @return Success : ¼­¸íµÈ ¹®¼­[ÀüÀÚ¼­¸í¹®=¿ø¹®+¼­¸í°ª+ÀÎÁõ¼­]
* Fail : empty string (¡°¡±) */ function Sign_with_vid_user( option, plain, svrCert ) { // PutMobisignData(); //¸ðºñ½ÎÀΠȣÃâ PutUBIKey(); //ÈÞ´ëÆùÀÎÁõ¼­¼­ºñ½º Àû¿ë var signed_msg; option = option + 4; if(IsNetscape()) { alert("Not supported function"); } else { signed_msg = document.XecureWeb.SignDataWithVID ( xgate_addr, accept_cert, plain, svrCert, option, sign_desc, pwd_fail ); } if( signed_msg == "" ) XecureWebError(); return signed_msg; } /** * ÁÖ¾îÁø ¼­¸í µ¥ÀÌÅÍ¿¡ ÀüÀÚ ¼­¸íÀ» ÇÑ´Ù.
* ¼­¸í¿ø¹® È®ÀÎâ Diplay À¯¹« ¹× ÀÎÁõ¼­ ¼±Åà Á¦¾î¸¦ ÇÒ ¼ö ÀÖ´Ù.
* ÀÌ ÇÔ¼ö¸¦ È£ÃâÇϸé ÀüÀÚ¼­¸í¸¸ ÀÌ·ç¾îÁú »Ó º¸¾È¼¼¼ÇÀÌ ¿¬°áµÇÁö´Â ¾Ê´Â´Ù.
* ÀüÀÚ¼­¸í½Ã ½Äº°¹øÈ£ È®ÀÎÀ» À§ÇÏ¿© Web Application¿¡¼­ »ç¿ëÀÚÀÇ IDNÀ» ÀÔ·Â Çϸç, send_vid_info() ¸¦ ÅëÇØ ½Äº° ¹øÈ£ °ËÁõÀ» À§ÇØ ¾Ïȣȭ µÈ °ªÀ» °¡Á®¿Ã ¼ö ÀÖ´Ù.
*
* @ingroup digitalSignAPI * @param option : 0 : ¼­¸í¿ø¹® È®ÀÎâ No Display, ¸ðµç ÀÎÁõ¼­ ¼­¸í °¡´ÉÇϰÔ
* 1 : ¼­¸í¿ø¹® È®ÀÎâ Display, ¸ðµç ÀÎÁõ¼­ ¼­¸í °¡´ÉÇϰÔ
* 2 : ¼­¸í¿ø¹® È®ÀÎâ No Display, Login½Ã ÀÎÁõ¼­·Î¸¸ ¼­¸í °¡´ÉÇϰÔ
* 3 : ¼­¸í¿ø¹® È®ÀÎâ Display, Login½Ã ÀÎÁõ¼­·Î¸¸ ¼­¸í °¡´ÉÇÏ°Ô * @param plain ¼­¸íÇϰíÀÚ ÇÏ´Â ¼­¸í ¿ø¹® * @param svrCert IDN, R °ªÀ» ¾ÏȣȭÇϱâ À§ÇÑ ÀÎÁõ¼­ ( pem type ) * @param idn ¼­¸íÀÚÀÇ Áֹεî·Ï(»ç¾÷ÀÚµî·Ï)¹øÈ£ * * @return Success : ¼­¸íµÈ ¹®¼­[ÀüÀÚ¼­¸í¹®=¿ø¹®+¼­¸í°ª+ÀÎÁõ¼­]
* Fail : empty string (¡°¡±) */ function Sign_with_vid_web( option, plain, svrCert, idn ) { // PutMobisignData(); //¸ðºñ½ÎÀΠȣÃâ PutUBIKey(); //ÈÞ´ëÆùÀÎÁõ¼­¼­ºñ½º Àû¿ë var ret; var signed_msg; option = option + 12; if(IsNetscape()) { alert("Not supported function"); } else { ret = Set_ID_Num(idn); if(ret != 0) { XecureWebError(); return signed_msg; } signed_msg = document.XecureWeb.SignDataWithVID ( xgate_addr, accept_cert, plain, svrCert, option, sign_desc, pwd_fail ); } if( signed_msg == "" ) XecureWebError(); return signed_msg; } // only over XecureWeb Client v5.3.0.1 // [certLocation] // 0 : HARD // 1 : REMOVABLE // 2 : ICCARD // 3 : CSP // 4 : VSC // [option] // 0 : ¼­¸í¿ø¹® È®ÀÎâ ¾øÀ½ // 1 : ¼­¸í¿ø¹® È®ÀÎâ ¶ç¿ò /** * ÁÖ¾îÁø ½Ã¸®¾ó ¹øÈ£¿Í ÀÏÄ¡ÇÏ´Â ÀÎÁõ¼­·Î ÁÖ¾îÁø µ¥ÀÌÅ͸¦ ÀüÀÚ ¼­¸íÀ» ÇÑ´Ù.
* ¼­¸í¿ø¹® È®ÀÎâ Diplay ¸¦ Á¦¾îÇÒ ¼ö ÀÖ´Ù.
* ÀÌ ÇÔ¼ö¸¦ È£ÃâÇϸé ÀüÀÚ¼­¸í¸¸ ÀÌ·ç¾îÁú »Ó º¸¾È¼¼¼ÇÀÌ ¿¬°áµÇÁö´Â ¾Ê´Â´Ù.
* ½Äº°¹øÈ£°¡ ÁÖÀÔµÈ ÀÎÁõ¼­´Â ¼­¸íâ¿¡¼­ »ç¿ëÀÚÀÇ IDNÀ» ÀÔ·ÂÇϸç, send_vid_info() ¸¦ ÅëÇØ ½Äº° ¹øÈ£ °ËÁõÀ» À§ÇØ ¾ÏȣȭµÈ °ªÀ» °¡Á®¿Ã ¼ö ÀÖ´Ù.
* * @ingroup digitalSignAPI * @param certSerial : ¼­¸í¿¡ »ç¿ëÇÒ ÀÎÁõ¼­ÀÇ ½Ã¸®¾ó ¹øÈ£
* ¿©·¯ °³ÀÇ ½Ã¸®¾óÀ» »ç¿ëÇÒ °æ¿ì ¡°,¡±·Î ±¸º°ÇÑ´Ù.
* Ex) ¡°008ade93, 008ade94¡± * @param certLocation ¼­¸í¿¡ »ç¿ëÇÒ ÀÎÁõ¼­ À§Ä¡
* 0 : Çϵåµð½ºÅ©, 1 : À̵¿½Äµð½ºÅ©, 2 : ICÄ«µå,3 :CSP 4: pkcs11,5:USBTOKEN_KIUP, 6 :iccard, 7 :NO_SMARTON, 8 : USBTOKEN_KIUP, 9 :YESSIGNM * @param option 0 : ¼­¸í¿ø¹® È®ÀÎâ No Display
* 1 : ¼­¸í¿ø¹® È®ÀÎâ Display * @param plain ¼­¸íÇϰíÀÚ ÇÏ´Â ¼­¸í ¿ø¹® * @param svrCert IDN, R °ªÀ» ¾ÏȣȭÇϱâ À§ÇÑ ÀÎÁõ¼­ ( pem type ) * * @return Success : ¼­¸íµÈ ¹®¼­[ÀüÀÚ¼­¸í¹®=¿ø¹®+¼­¸í°ª+ÀÎÁõ¼­]
* Fail : empty string (¡°¡±) */ function Sign_with_vid_user_serial( certSerial, certLocation, option, plain, svrCert ) { // PutMobisignData(); //¸ðºñ½ÎÀΠȣÃâ PutUBIKey(); //ÈÞ´ëÆùÀÎÁõ¼­¼­ºñ½º Àû¿ë var signed_msg; option = option + 4; if(IsNetscape()) { alert("Not supported function"); } else { signed_msg = document.XecureWeb.SignDataWithVID_Serial ( xgate_addr, accept_cert, certSerial, certLocation, plain, svrCert, option, sign_desc, pwd_fail ); } if( signed_msg == "" ) XecureWebError(); return signed_msg; } // only over XecureWeb Client v5.3.0.1 // [certLocation] // 0 : HARD // 1 : REMOVABLE // 2 : ICCARD // 3 : CSP // 4 : VSC // [option] // 0 : ¼­¸í¿ø¹® È®ÀÎâ ¾øÀ½ // 1 : ¼­¸í¿ø¹® È®ÀÎâ ¶ç¿ò /** * ÁÖ¾îÁø ½Ã¸®¾ó ¹øÈ£¿Í ÀÏÄ¡ÇÏ´Â ÀÎÁõ¼­·Î ÁÖ¾îÁø µ¥ÀÌÅ͸¦ ÀüÀÚ ¼­¸íÀ» ÇÑ´Ù.
* ¼­¸í¿ø¹® È®ÀÎâ Diplay ¸¦ Á¦¾îÇÒ ¼ö ÀÖ´Ù.
* ÀÌ ÇÔ¼ö¸¦ È£ÃâÇϸé ÀüÀÚ¼­¸í¸¸ ÀÌ·ç¾îÁú »Ó º¸¾È¼¼¼ÇÀÌ ¿¬°áµÇÁö´Â ¾Ê´Â´Ù.
* ÀüÀÚ¼­¸í½Ã ½Äº°¹øÈ£ È®ÀÎÀ» À§ÇÏ¿© Web Application¿¡¼­ »ç¿ëÀÚÀÇ IDNÀ» ÀÔ·ÂÇϸç, send_vid_info() ¸¦ ÅëÇØ ½Äº° ¹øÈ£ °ËÁõÀ» À§ÇØ ¾Ïȣȭ µÈ °ªÀ» °¡Á®¿Ã ¼ö ÀÖ´Ù.
* * @ingroup digitalSignAPI * @param certSerial ¼­¸í¿¡ »ç¿ëÇÒ ÀÎÁõ¼­ÀÇ ½Ã¸®¾ó ¹øÈ£
* ¿©·¯ °³ÀÇ ½Ã¸®¾óÀ» »ç¿ëÇÒ °æ¿ì ¡°,¡±·Î ±¸º°ÇÑ´Ù.
* Ex) ¡°008ade93, 008ade94¡± * @param certLocation ¼­¸í¿¡ »ç¿ëÇÒ ÀÎÁõ¼­ À§Ä¡
* 0 : Çϵåµð½ºÅ©, 1 : À̵¿½Äµð½ºÅ©, 2 : ICÄ«µå,3 :CSP 4: pkcs11,5:USBTOKEN_KIUP, 6 :iccard, 7 :NO_SMARTON, 8 : USBTOKEN_KIUP, 9 :YESSIGNM * @param option 0 : ¼­¸í¿ø¹® È®ÀÎâ No Display
* 1 : ¼­¸í¿ø¹® È®ÀÎâ Display * @param plain ¼­¸íÇϰíÀÚ ÇÏ´Â ¼­¸í ¿ø¹® * @param svrCert IDN, R °ªÀ» ¾ÏȣȭÇϱâ À§ÇÑ ÀÎÁõ¼­ ( pem type ) * @param idn ¼­¸íÀÚÀÇ Áֹεî·Ï(»ç¾÷ÀÚµî·Ï)¹øÈ£ * * @return Success : ¼­¸íµÈ ¹®¼­[ÀüÀÚ¼­¸í¹®=¿ø¹®+¼­¸í°ª+ÀÎÁõ¼­]
* Fail : empty string (¡°¡±) */ function Sign_with_vid_web_serial( certSerial, certLocation, option, plain, svrCert, idn ) { // PutMobisignData(); //¸ðºñ½ÎÀΠȣÃâ PutUBIKey(); //ÈÞ´ëÆùÀÎÁõ¼­¼­ºñ½º Àû¿ë var ret; var signed_msg; option = option + 12; if(IsNetscape()) { alert("Not supported function"); } else { ret = Set_ID_Num(idn); if(ret != 0) { XecureWebError(); return signed_msg; } signed_msg = document.XecureWeb.SignDataWithVID_Serial ( xgate_addr, accept_cert, certSerial, certLocation, plain, svrCert, option, sign_desc, pwd_fail ); } if( signed_msg == "" ) XecureWebError(); return signed_msg; } /** * ÀüÀÚ ¼­¸í½Ã ½Äº°¹øÈ£ È®ÀÎÀÇ ±â´ÉÀ» »ç¿ëÇÒ °æ¿ì, IDN °ªÀ» Web Application ÀÌ ³Ñ°ÜÁÙ °æ¿ì, ¼­¸íÇϱâ ÀÌÀü¿¡ ÀÌ ÇÔ¼ö¸¦ ÅëÇÏ¿© idn À» ³Ñ°ÜÁØ´Ù.
* Sign_with_vid_web() ³»ºÎ¿¡ Àû¿ëµÇ¾î ÀÖÀ½. * * @ingroup digitalSignAPI * @param idn ½Äº°¹øÈ£(Áֹεî·Ï/»ç¾÷ÀÚµî·Ï¹øÈ£) * @return Success : 0
* Fail : -1 */ function Set_ID_Num(idn) { var ret; if( IsNetscape() ) { alert("Not supported function"); } else { ret = document.XecureWeb.SetIDNum(idn); } return ret; } /** * Send_vid_info_user() ¶Ç´Â Send_vid_info_web() È£ÃâÀ» ÅëÇÏ¿© ½Äº°¹øÈ£°¡ ÁÖÀÔµÈ ÀÎÁõ¼­ÀÇ °æ¿ì,
* ½Äº°¹øÈ£(VID)¸¦ È®ÀÎÇϱâ À§ÇÑ Á¤º¸¸¦ ¾Ïȣȭ ÇÏ¿© return ÇÑ´Ù.
* ¸¸¾à, ½Äº°¹øÈ£°¡ ÁÖÀÔµÇÁö ¾ÊÀº ÀÎÁõ¼­ÀÇ °æ¿ì null À» return ÇÑ´Ù. * * @ingroup digitalSignAPI * @return Success : ½Äº° ¹øÈ£ °ËÁõÀ» À§ÇØ ¾ÏȣȭµÈ Á¤º¸
* Fail : empty string (¡°¡±) */ function send_vid_info() { var vid_info; if( IsNetscape() ) { alert("Not supported function"); } else { vid_info = document.XecureWeb.GetVidInfo(); } if(vid_info.length == 0) return null; else return vid_info; } // only over XecureWeb Client v5.3.0.1 // [certLocation] // 0 : HARD // 1 : REMOVABLE // 2 : ICCARD // 3 : CSP // 4 : VSC // [option] // 0 : ¼­¸í¿ø¹® È®ÀÎâ ¾øÀ½ // 1 : ¼­¸í¿ø¹® È®ÀÎâ ¶ç¿ò /** * ÁÖ¾îÁø ½Ã¸®¾ó ¹øÈ£¿Í ÀÏÄ¡ÇÏ´Â ÀÎÁõ¼­·Î ÁÖ¾îÁø µ¥ÀÌÅ͸¦ ÀüÀÚ ¼­¸íÀ» ÇÑ´Ù.
* ¼­¸í¿ø¹® È®ÀÎâ Diplay À¯¹«¸¦ Á¦¾îÇÒ ¼ö ÀÖ´Ù.
* ÀÌ ÇÔ¼ö¸¦ È£ÃâÇϸé ÀüÀÚ¼­¸í¸¸ ÀÌ·ç¾îÁú »Ó º¸¾È¼¼¼ÇÀÌ ¿¬°áµÇÁö´Â ¾Ê´Â´Ù.
* * @ingroup digitalSignAPI * @param certSerial : ¼­¸í¿¡ »ç¿ëÇÒ ÀÎÁõ¼­ÀÇ ½Ã¸®¾ó ¹øÈ£
* ¿©·¯ °³ÀÇ ½Ã¸®¾óÀ» »ç¿ëÇÒ °æ¿ì ¡°,¡±·Î ±¸º°ÇÑ´Ù.
* Ex) ¡°008ade93, 008ade94¡±
* @param certLocation ¼­¸í¿¡ »ç¿ëÇÒ ÀÎÁõ¼­ À§Ä¡
* 0 : Çϵåµð½ºÅ©, 1 : À̵¿½Äµð½ºÅ©, 2 : ICÄ«µå,3 :CSP 4: pkcs11,5:USBTOKEN_KIUP, 6 :iccard, 7 :NO_SMARTON, 8 : USBTOKEN_KIUP, 9 :YESSIGNM * @param option 0 : ¼­¸í¿ø¹® È®ÀÎâ No Display
* 1 : ¼­¸í¿ø¹® È®ÀÎâ Display * @param plain ¼­¸íÇϰíÀÚ ÇÏ´Â ¼­¸í ¿ø¹® * @return Success : ¼­¸íµÈ ¹®¼­[ÀüÀÚ¼­¸í¹®=¿ø¹®+¼­¸í°ª+ÀÎÁõ¼­]
* Fail : empty string (¡°¡±) * */ function Sign_with_serial( certSerial, certLocation, plain, option ) { // PutMobisignData(); //¸ðºñ½ÎÀΠȣÃâ PutUBIKey(); //ÈÞ´ëÆùÀÎÁõ¼­¼­ºñ½º Àû¿ë var signed_msg; if( IsNetscape() ) { alert("Not supported function"); } else { signed_msg = document.XecureWeb.SignDataCMSWithSerial( xgate_addr, XecureEscape(accept_cert), certSerial, certLocation, plain, option, XecureEscape(sign_desc), pwd_fail ); } if( signed_msg == "" ) XecureWebError(); return signed_msg; } // // only over XecureWeb Client v5.4.x // // !!! This function need site/executable license !!! // // [option] // 0 : only signature verification( NOT perform cert verification ) // 1 : signature verification + default cert verification // 2 : + cert chain check // 3 : + CRL check // 4 : + LDAP // [directoryServer] // ex) dirsys.rootca.or.kr:389 or "" // /** * ¼­¸í¹®À» °ËÁõÇÏ°í ¼­¸í ¿ø¹®À» ¸®ÅÏÇÑ´Ù. °ËÁõ ¿É¼Ç¿¡ µû¶ó ´Ù¾çÇÑ °ËÁõ ±â´ÉÀ»
* ¼öÇàÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ Verify_SignedData´Â ÇÔ¼ö »ç¿ëÀ» À§ÇÑ ¶óÀ̼¾½º°¡ ÇÊ¿äÇÏ´Ù. * * @ingroup digitalSignAPI * @param signedData : °ËÁõÇÒ ¼­¸í¿î * @param option : ¼­¸í °ËÁõ ¿É¼Ç
* 0 : ¼­¸í¹®¸¸ °ËÁõ(ÀÎÁõ¼­¿¡ ´ëÇÑ °ËÁõÀº »ý·«)
* 1 : 0¿¡ ´õÇÏ¿© ÀÎÁõ¼­ °ËÁõ
* 2 : 1¿¡ ´õÇÏ¿© ÀÎÁõ¼­ üÀαîÁö °ËÁõ
* 3 : 2¿¡ ´õÇÏ¿© ÀÎÁõ¼­ CRL üũ
* 4 : 3¿¡ ´õÇÏ¿© LDAPÀ¸·Î ÀÎÁõ¼­ °ËÁõ
* @param directoryServer : CRLÀ» °¡Á®¿Ã µð·ºÅ丮 ¼­¹ö ÁÖ¼Ò
* Ex) dirsys.rootca.or.kr:389
* ¡°¡±À» ÀÔ·ÂÇϸé ÀÎÁõ¼­¿¡ Æ÷ÇÔµÈ CRL ºÐ¹èÁ¡ ÀÌ¿ëÇÏ¿© CRL üũ
* * @return Success : ¼­¸í ¿ø¹® * Fail : ¡°¡±
* ÇÏÁö¸¸ ¼­¸í¹® °ËÁõÀÌ ÀÏ´Ü ¼º°øÇϸé ÀÎÁõ¼­ °ËÁõ½Ã ¿¡·¯°¡ ¹ß»ýÇÏ´õ¶óµµ ¼­¸í ¿ø¹®À» ¸®ÅÏÇÑ´Ù. µû¶ó¼­ ÀüüÀûÀÎ °âÁõ ¿É¼Ç¿¡ µû¸¥ ¼­¸í °ËÁõÀÌ ¿Ã¹Ù¸£°Ô µÇ¾ú´ÂÁö¸¦ È®ÀÎÇϱâ À§Çؼ­´Â, ¸®Åϰª È®Àΰú ÇÔ²² LastErrCode µîÀ¸·Î ¿À·ù ¿©ºÎ¸¦ È®ÀÎÇØ¾ß ÇÑ´Ù. */ function Verify_SignedData( signedData, option, directoryServer ) { var verified_msg; var errCode; if( IsNetscape() ) { alert("Not supported function"); return ""; } else { verified_msg = document.XecureWeb.VerifySignedData( signedData, option, directoryServer ); } // VerifySignedData´Â ÀÎÁõ¼­ °ËÁõ½Ã ¿À·ù°¡ ¹ß»ýÇÏ´õ¶óµµ ¿ø¹® ÃßÃâÀÌ ¼º°øÇÏ¸é ¿ø¹®À» ¸®ÅÏÇϱ⠶§¹®¿¡ // ¹Ýµå½Ã LastErrCode¸¦ È®ÀÎÇØ¾ß ÇÑ´Ù. errCode = document.XecureWeb.LastErrCode(); if( errCode != 0 ) XecureWebError(); return verified_msg; } // // only over XecureWeb Client v5.4.x // // applicable cert location : usbtoken_kb, usbtoken_kiup // function Set_PinNumber( pin ) { var ret = -1; if( IsNetscape() ) { alert("Not supported function"); } else { ret = document.XecureWeb.SetPinNum( pin ); } return ret; } // type 10 : YessignCA // type 11 : XecureCA /** * ÂüÁ¶ÄÚµå¿Í Àΰ¡Äڵ带 °¡Áö°í °øÀÎÀÎÁõ±â°ü¿¡ Á¢¼ÓÇÏ¿© ÀÎÁõ¼­¸¦ ¹ß±Þ¹Þ´Â´Ù. ÀÎÁõ¼­ ¹ß±Þ À§Ä¡´Â Çϵåµð½ºÅ©/ICÄ«µå ÀÌ´Ù. * * @ingroup CMPAPI * @param type CA TYPE 10: YessignCA, 11: XecureCA * @param ref_code ÂüÁ¶ÄÚµå * @param auth_code Àΰ¡ÄÚµå * * @return Success : 0
* Fail : -1 */ function RequestCertificate ( type, ref_code, auth_code ) { var r; var ca_type; var ca_ip; var ca_port; if(type == 10) { ca_type = yessign_ca_type; ca_ip = yessign_ca_ip; ca_port = yessign_ca_port; } else if(type == 11) { ca_type = xecure_ca_type; ca_ip = xecure_ca_ip; ca_port = xecure_ca_port; } else if(type == 12) { ca_type = xecure_ca_type_1; ca_ip = xecure_ca_ip_1; ca_port = xecure_ca_port_1; } else { alert("Input type error!"); return 0; } if(IsNetscape()) { if( IsNetscape60() ) // Netscape 6.0 r = document.XecureWeb.nsIXecurePluginInstance.RequestCertificate2 ( ca_port, ca_ip, ref_code, auth_code, ca_type ); else r = document.XecureWeb.RequestCertificate2 ( ca_port, ca_ip, ref_code, auth_code, ca_type ); } else { // r = document.XecureWeb.RequestCertificate ( ca_port, ca_ip, ref_code, auth_code, ca_type); //¾Æ·¡´Â ÈÞ´ëÆùÀÎÁõ¼­¼­ºñ½º Àû¿ë r = document.XecureWeb.RequestCertificateEx2( ca_port, ca_ip, ref_code, auth_code, ca_type, 0, "", "", 1 ); } if ( r != 0 ) XecureWebError(); return r; } // type 00 : YessignCA // type 11 : XecureCA /** * ÀÌ ÇÔ¼ö¸¦ ½ÇÇà½ÃŰ¸é °»½ÅÇÒ ÀÎÁõ¼­¸¦ ¼±ÅÃÇÑÈÄ ±× ÀÎÁõ¼­¸¦ °»½ÅÇÏ¿© ¼±ÅÃµÈ À§Ä¡¿¡ ´Ù½Ã ÀúÀå½ÃŲ´Ù. ( Çϵåµð½ºÅ©/Ç÷ÎÇÇ µð½ºÅ©/ICÄ«µå) * * @ingroup CMPAPI * @return Success : 0
* Fail : -1 */ function RenewCertificate ( type ) { var r; var ca_type; var ca_ip; var ca_port; if(type == 10) { ca_type = yessign_ca_type; ca_ip = yessign_ca_ip; ca_port = yessign_ca_port; } else if(type == 11) { ca_type = xecure_ca_type; ca_ip = xecure_ca_ip; ca_port = xecure_ca_port; } else if(type == 12) { ca_type = xecure_ca_type_1; ca_ip = xecure_ca_ip_1; ca_port = xecure_ca_port_1; } else { alert("Input type error!"); return 0; } if(IsNetscape()) { if( IsNetscape60() ) // Netscape 6.0 r = document.XecureWeb.nsIXecurePluginInstance.RenewCertificate2( ca_port, ca_ip, ca_type, pwd_fail ); else r = document.XecureWeb.RenewCertificate2( ca_port, ca_ip, ca_type, pwd_fail ); } else{ r = document.XecureWeb.RenewCertificate ( ca_port, ca_ip, ca_type, pwd_fail ); } if ( r != 0 ) XecureWebError(); return r; } // type 00 : YessignCA // type 11 : XecureCA /** * ÀÌ ÇÔ¼ö¸¦ ½ÇÇà½ÃŰ¸é Æó±âÇÒ ÀÎÁõ¼­¸¦ ¼±ÅÃÇÑÈÄ ±× ÀÎÁõ¼­¸¦ Æó±âÇϰí ÀúÀåµÈ
* À§Ä¡¿¡¼­ »èÁ¦½ÃŲ´Ù. ( Çϵåµð½ºÅ©/Ç÷ÎÇÇ µð½ºÅ©/ICÄ«µå) * * @ingroup CMPAPI * @param type 00 : YessignCA, 11 : XecureCA * @param jobcode
* ÀÎÁõ¼­ Æó±â : 17
* ÀÎÁõ¼­ È¿·ÂÁ¤Áö : 256 * @param reason (Æó±â/È¿·ÂÁ¤Áö »çÀ¯ )
* 1 : keyCompromise ( default )
* 2 : cACompromise
* 3 : affiliationChanged
* 4 : superseded
* 5 : cessationOfOperation
* 6 : certificateHold * * @return Success : 0
* Fail : -1 */ function RevokeCertificate ( type, jobcode, reason ) { var r; var ca_type; var ca_ip; var ca_port; if(type == 10) { ca_type = yessign_ca_type; ca_ip = yessign_ca_ip; ca_port = yessign_ca_port; } else if(type == 11) { ca_type = xecure_ca_type; ca_ip = xecure_ca_ip; ca_port = xecure_ca_port; } else if(type == 12) { ca_type = xecure_ca_type_1; ca_ip = xecure_ca_ip_1; ca_port = xecure_ca_port_1; } else { alert("Input type error!"); return 0; } if(IsNetscape()) { if( IsNetscape60() ) // Netscape 6.0 r = document.XecureWeb.nsIXecurePluginInstance.RevokeCertificate2( ca_port, ca_ip, jobcode, reason, ca_type, pwd_fail ); else r = document.XecureWeb.RevokeCertificate2( ca_port, ca_ip, jobcode, reason, ca_type, pwd_fail); } else { r = document.XecureWeb.RevokeCertificate ( ca_port, ca_ip, jobcode, reason, ca_type, pwd_fail ); } if ( r != 0 ) XecureWebError(); return r; } /** * RSA 1024 bit °ø°³Å°/°³ÀÎŰ½ÖÀ» »ý¼ºÇÑÈÄ, °³ÀÎŰ Á¤º¸´Â Client ¿¡¼­ ÀúÀåÇϰí
* °ø°³Å° Á¤º¸¸¦ ¸®ÅÏÇÑ´Ù. (»ç¼³ ÀÎÁõ¼­ ¹ß±Þ/°»½Å½Ã ÀÌ¿ëµÇ¸ç, ÀÎÁõ¼­ ¹ß±Þ½Ã¿¡
* ÀÔ·ÂµÈ ÇÊ¿äÇÑ Á¤º¸µé°ú ÀÌ ÇÔ¼ö¿¡¼­ ¸®ÅÏµÈ °ø°³Å°¸¦ °¡Áö°í »ç¼³ÀÎÁõ±â°ü¿¡
* Á¢¼ÓÇÏ¿© ÀÎÁõ¼­¸¦ ¹ß±Þ/°»½Å ÇÑ´Ù. ) * * @ingroup SFCA_CMPAPI * @return Success : »ý¼ºµÈ °ø°³Å° ¹®ÀÚ¿­
* Fail : ¡°¡± * */ function GenCertReq ( ) { if( IsNetscape60() ) // Netscape 6.0 cert_req = document.XecureWeb.nsIXecurePluginInstance.GenerateCertReq( 1024 ); else cert_req = document.XecureWeb.GenerateCertReq( 1024 ); if ( cert_req == "" ) XecureWebError() ; return cert_req; } /** * ¹ß±Þ/°»½ÅµÈ »ç¼³ ÀÎÁõ¼­¸¦ ÀúÀå½ÃŲ´Ù. (ÀúÀå °¡´É¸Åü : Çϵåµð½ºÅ©/ICÄ«µå) * * @ingroup SFCA_CMPAPI * @param cert_type ¹ß±ÞµÈ ÀÎÁõ¼­ Á¾·ù
* 1 : ÀÎÁõ±â°ü ÀÎÁõ¼­
* 2 : »ç¿ëÀÚ ÀÎÁõ¼­
* 5 : ¾ÏȣȭÇÏ¿© ÀúÀåÇÒ »ç¿ëÀÚ ÀÎÁõ¼­
* ¼­¸íâÀ̳ª ÀÎÁõ¼­LoginâÀÇ À̹ÌÁö¸¦ ¼³Á¤ÇÑ´Ù. À̹ÌÁö BMP ÆÄÀÏÀ» Á¦ÀÛÇÑ´Ù. (¿©±â¼­´Â login.bmp(ÇØ»óµµ:290x64) ·Î °¡Á¤)
* XecureWeb ver4 server moduleÀÌ ¼³Ä¡µÇ¾î ÀÖ´Â µð·ºÅ丮¸¦
* /user/xecureweb_ver4¶ó °¡Á¤Çϸé
* /user/xecureweb_ver4/object/ ¾Æ·¡¿¡ login.bmp¸¦ º¹»çÇÑ´Ù.
* /user/xecureweb_ver4/object/xecureweb.js ÆÄÀÏÀ» ¿­°í bannerUrlÀ» ¼öÁ¤ÇÑ´Ù.
* ¿¹) var bannerUrl=
* ¡°http://¡± + window.location.hostname + ¡°/XecureObject/login.bmp¡±;
* BMPº¯°æ½Ã..´Ù¸¥À̸§À¸·Î ÀúÀåÇÏ¿©¾ß ´Ù½Ã DownLoad¹ÞÀ» ¼ö ÀÖ´Ù. * @ingroup etcAPI */ function PutBannerUrl() { if( IsNetscape60() ) // Netscape 6.0 { document.XecureWeb.nsIXecurePluginInstance.PutBigBannerUrl( xgate_addr, bannerUrl); } else { document.XecureWeb.PutBigBannerUrl( xgate_addr, bannerUrl); } } /** * »ç¼³ ÀÎÁõ±â°üÀ» »ç¿ë½Ã »ç¼³ÀÎÁõ±â°ü ÀÎÁõ¼­¸¦ »ç¿ëÀÚ¿¡°Ô ¹èÆ÷ÇÑ´Ù.
* * @ingroup etcAPI * @return Success : 0
* Fail : -1 */ function PutCACert() { var r ; if( IsNetscape60() ) // Netscape 6.0 r = document.XecureWeb.nsIXecurePluginInstance.PutCACert( XecureEscape(pCaCertName), pCaCertUrl); else r = document.XecureWeb.PutCACert( XecureEscape(pCaCertName), pCaCertUrl); if( r != 0 ) XecureWebError() ; } function isNewPlugin(desc) { index = desc.indexOf('v.', 0); if (index < 0) return false; desc += ' '; versionString = desc.substring(index +2, desc.length); arrayOfStrings = versionString.split('.'); thisMajor = parseInt(arrayOfStrings[0], 10); thisMinor = parseInt(arrayOfStrings[1], 10); thisBuild = parseInt(arrayOfStrings[2], 10); if (thisMajor > versionMaj) return true; if (thisMajor < versionMaj) return false; if (thisMinor > versionMin) return true; if (thisMinor < versionMin) return false; if (thisBuild > versionRel) return true; if (thisBuild < versionRel) return false; return true; } function downloadNow () { if ( navigator.javaEnabled() ) { trigger = netscape.softupdate.Trigger; if ( trigger.UpdateEnabled() ) { if (navigator.platform == "Win32") { trigger.StartSoftwareUpdate( packageURL, trigger.DEFAULT_MODE); } else alert('ÀÌ Ç÷¯±× ÀÎÀº À©µµ¿ìÁî 95/98/NT ȯ°æ¿¡¼­¸¸ ÀÛµ¿ÇÕ´Ï´Ù.') } else alert('³Ý½ºÄÉÀÔÀÇ SmartUpdate ¼³Ä¡¸¦ °¡´ÉÇϵµ·Ï ÇØ¾ßÇÕ´Ï´Ù.'); } else alert('Java ½ÇÇàÀ» °¡´ÉÇϵµ·Ï ÇØ¾ßÇÕ´Ï´Ù.'); } function isOldPlugin(desc,version) // by Zhang { index = desc.indexOf('v.', 0); if (index < 0) return true; desc += ' '; versionString = desc.substring(index +2, desc.length); arrayOfStrings = versionString.split('.'); thisMaj = parseInt(arrayOfStrings[0], 10); thisMin = parseInt(arrayOfStrings[1], 10); thisRel = parseInt(arrayOfStrings[2], 10); arrayOfStrings = version.split('.'); // verMaj = parseInt(arrayOfStrings[0], 10); // verMin = parseInt(arrayOfStrings[1], 10); // verRel = parseInt(arrayOfStrings[2], 10); s_verMaj = parseInt(arrayOfStrings[0], 10); s_verMin = parseInt(arrayOfStrings[1], 10); s_verRel = parseInt(arrayOfStrings[2], 10); if (thisMaj > s_verMaj) return false; if (thisMaj < s_verMaj) return true; if (thisMin > s_verMin) return false; if (thisMin < s_verMin) return true; if (thisRel > s_verRel) return false; if (thisRel < s_verRel) return true; return false; } function DownloadPackage(packageURL) // by Zhang { if ( navigator.javaEnabled() ) { trigger = netscape.softupdate.Trigger; if ( trigger.UpdateEnabled() ) { if (navigator.platform == "Win32") { trigger.StartSoftwareUpdate( packageURL, trigger.DEFAULT_MODE); } else alert('ÀÌ Ç÷¯±× ÀÎÀº À©µµ¿ìÁî 95/98/NT ȯ°æ¿¡¼­¸¸ ÀÛµ¿ÇÕ´Ï´Ù.'); } else alert('³Ý½ºÄÉÀÔÀÇ SmartUpdate ¼³Ä¡¸¦ °¡´ÉÇϵµ·Ï ÇØ¾ßÇÕ´Ï´Ù.'); } else alert('Java ½ÇÇàÀ» °¡´ÉÇϵµ·Ï ÇØ¾ßÇÕ´Ï´Ù.'); } function XecureWebPlugin(version) // by Zhang { if (navigator.appName == 'Netscape' && UserAgent() == "Mozilla/4") { var XecureMime = navigator.mimeTypes["application/x-SoftForum-XecSSL40"]; if (XecureMime) { // Xecure PlugIn ÀÌ ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖ´Â °æ¿ì if ( isOldPlugin(XecureMime.enabledPlugin.description,version)) DownloadPackage(packageURL); } else { // Xecure PlugIn ÀÌ ¼³Ä¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì DownloadPackage(packageURL); } } } /** * Netscape¸¦ À§ÇØ<EMBED> Tag¸¦, Internet Explorer¸¦ À§ÇØ <OBJECT> Tag¸¦ document.writeÇÑ´Ù.
*
* example>
* <html>
* <head>
* <form name='xecure' ><input type=hidden name='p'></form>
* <script language='javascript' src='/XecureObject/xecureweb.js'></script>
* <script language='javascript' src='/XecureObject/xecureweb_file.js'></script>
* <script>
* PrintObjectTag();
* PrintFileObjectTag();
* </script>
* </head>
* <body> </body></html> * @ingroup etcAPI */ function PrintObjectTag() { if( IsNetscape60() ) alert("Netscape 6.0Àº Áö¿øÇÏÁö ¾Ê½À´Ï´Ù") ; else { if(navigator.appName == 'Netscape') { document.write("No XecureWeb PlugIn"); } else { // param ¼³Á¤( name : value ) // // [¾ð¾î ¼³Á¤] // lang : KOREAN / ENGLISH // ex) // // [º¸¾È ¿É¼Ç] only over XecureWeb Client v5.3.0.1 // "º¸¾È ¿É¼Ç"ÀÇ Àû¿ëÀº ¹Ýµå½Ã °³¹ßÆÀÀ» ÅëÇØ ÀÚ¼¼ÇÑ ³»¿ëÀ» È®ÀÎÇÑ ÈÄ »ç¿ëÇϽñ⠹ٶø´Ï´Ù. // sec_option : // - xgate ÁÖ¼Ò·Î ¼­¸í °ËÁõ(µðÆúÆ®´Â host nameÀ¸·Î ¼­¸í °ËÁõ) : 0x00000080 = 128 // - ÀÎÁõ¼­ ¾ÏÈ£ Àç»ç¿ë(ICÄ«µåÀÇ °æ¿ì ÇɹøÈ£µµ Àç»ç¿ë) // USBTOKE_KBÀÇ °æ¿ì, SetPinNumÀ¸·Î ÇɹøÈ£¸¦ presetÇØ¾ß ÇÔ : 0x00000040 = 64 // - ¼­¸í½Ã ÀÎÁõ¼­ ¼±ÅÃâ¾øÀÌ Ä³½ÃµÈ ÀÎÁõ¼­ »ç¿ë(only for IC card, USBTOKEN_KB) // USBTOKE_KBÀÇ °æ¿ì´Â ij½ÃÇÏÁö ¾Ê°í ÀÚµ¿À¸·Î ´Ù½Ã ÀоîµéÀÓ : 0x00000020 = 32 // - ·Î±×Àνà ÀÎÁõ¼­ ¼±ÅÃâ¾øÀÌ Ä³½ÃµÈ ÀÎÁõ¼­ »ç¿ë(only for IC card) : 0x00000010 = 16 // sec_context : ¼­¸í°ª // sec_desc : ÀÓÀÇÀÇ ¹®ÀÚ¿­(storage°¡ iccard·Î ¼³Á¤µÈ °æ¿ì icÄ«µå ÇɹøÈ£ ÀÔ·Ââ¿¡ ³ªÅ¸³ª´Â ¾È³»¹®±¸. ¼³Á¤µÇÁö ¾ÊÀ¸¸é default ¹®±¸°¡ ³ªÅ¸³²) // // [ÀÎÁõ¼­ ÀúÀå¸Åü ¼³Á¤] only over XecureWeb Client v5.3.0.1 // storage : "HARD" / "REMOVABLE" / "ICCARD" / "CSP" / "VSC" / "USBTOKEN","USBTOKEN_KB","USBTOKEN_KIUP" // ex1) // ex2) ==> ¿©·¯ °³ÀÇ ÀúÀå¸Åü¸¦ ¼³Á¤ÇÒ ¶§¿¡´Â ù¹øÂ° ÀúÀå¸Åü°¡ ¿ì¼± ¼±ÅõǾîÁü // // [Ű½ºÆ®·ÎÅ© ÇØÅ·¹æÁö ¿É¼Ç] only over XecureWeb Client v5.3.0.1 // seckey : KeyStroke ÇØÅ·¹æÁöÅø Àû¿ë ¿©ºÎ, ÇØ´çÇÏ´Â vendor¿¡ ´ëÇÑ string value ÀÔ·Â // ÇöÀç[2003/10/30] °¡´ÉÇÑ string value // - "XW_SKS_SOFTCAMP_KEYPAD" : ¼ÒÇÁƮķÇÁÀÇ Å°ÆÐµå ¹öÀü // - "XW_SKS_SOFTCAMP_DRIVER" : ¼ÒÇÁƮķÇÁÀÇ µå¶óÀ̹ö ¹öÀü // - "XW_SKS_KINGS_DRIVER" : Å·½ºÁ¤º¸Åë½ÅÀÇ µå¶óÀ̹ö ¹öÀü // - "_WITH_SKS_ENCRYPT" : Æû µ¥ÀÌÅÍÀÇ ÆÐ½º¿öµå ŸÀÔ¿¡ ´ëÇØ¼­ ¾Ïȣȭ => BlockEnc È£Ãâ½Ã ³»ºÎ¿¡¼­ ´Ù½Ã º¹È£È­ÇÔ(xwcs_client.dll »ç¿ë) // ex) ==> ¼ÒÇÁƮķÇÁÀÇ Å°ÆÐµå ¹öÀü Àû¿ë // ex) ==> Å·½ºÁ¤º¸Åë½ÅÀÇ µå¶óÀ̹ö ¹öÀü Àû¿ë + ÆÐ½º¿öµå ŸÀÔ ¾Ïȣȭ // ex) ==> ÆÐ½º¿öµå ŸÀÔ ¾Ïȣȭ¸¸ Áö¿ø // // [¶óÀ̼¾½º] only over XecureWeb Client v5.4.x // XecureWeb ClientÀÇ Æ¯Á¤ ±â´É¿¡ ´ëÇØ¼­ »çÀÌÆ® ¶óÀ̼¾½º°¡ °ËÁõµÉ ¶§¿¡¸¸ »ç¿ë °¡´É // ÇöÀç ¶óÀ̼¾½º°¡ Àû¿ëµÈ ±â´É // - ¼­¸í °ËÁõ(VerifySignedData) // ex) //document.write('No XecureWeb PlugIn'); // test //document.write(''); //document.write('No XecureWeb PlugIn'); document.write('No XecureWeb PlugIn'); PutUBIKey(); //ÈÞ´ëÆùÀÎÁõ¼­¼­ºñ½º Àû¿ë } } } function get_sid() { var sid = document.XecureWeb.BlockEnc ( xgate_addr, "", "", "GET" ); if( sid == "") return XecureWebError() ; return sid; } // applet¿¡¼­ servletÀ¸·Î º¸³¾ °ªÀ» ¾Ïȣȭ ÇÏ´Â function function enc(str) { var state=''; var plain=''; var escaped_state=''; plain=String(str); if (navigator.appName == 'Netscape') state=XecureWeb.BlockEnc(xgate_addr, path, escape(plain), "POST"); else state=XecureWeb.BlockEnc(xgate_addr, path, plain, "POST"); //escaped_state=escape_url(state); escaped_state=escape_url_applet(state); // alert("POST:" + escaped_state); return escaped_state; } // servlet¿¡¼­ appletÀ¸·Î º¸³»ÁØ °ªÀ» º¹È£È­ ÇÏ´Â function function dec(str) { var result=BlockDec(str); return result; } function XecureNavigate2iframe( url, target, feature, sid) { var qs ; var path = "/"; var cipher; var xecure_url; path = getPath(url); cipher = document.XecureWeb.BlockEnc(xgate_addr, path, XecureEscape(qs),"POST"); if( cipher.length == 0 ) return XecureWebError() ; xecure_url = path + "?q=" + sid + ";" + escape_url(cipher); if (feature=="" || feature==null) open ( xecure_url, target ); else open(xecure_url, target, feature ); } function getPath(url) { var path = "/"; // get path info & query string & hash from url qs_begin_index = url.indexOf('?'); // if action is relative url, get base url from window location if ( url.charAt(0) != '/' && url.substring(0,7) != "http://" ) { path_end = window.location.href.indexOf('?'); if(path_end < 0) path_end_str = window.location.href; else path_end_str = window.location.href.substring(0,path_end); path_relative_base_end = path_end_str.lastIndexOf('/'); path_relative_base_str = path_end_str.substring(0,path_relative_base_end+1); path_begin_index = path_relative_base_str.substring (7,path_relative_base_str.length).indexOf('/'); if (qs_begin_index < 0){ path = path_relative_base_str.substring( 7+path_begin_index,path_relative_base_str.length ) + url; } else { path = path_relative_base_str.substring( 7+path_begin_index,path_relative_base_str.length ) + url.substring(0, qs_begin_index ); } } else if ( url.substring(0,7) == "http://" ) { path_begin_index = url.substring (7, url.length).indexOf('/'); if (qs_begin_index < 0){ path = url.substring( path_begin_index + 7, url.length); } else { path = url.substring(path_begin_index + 7, qs_begin_index ); } } else if (qs_begin_index < 0){ path = url; } else { path = url.substring(0, qs_begin_index ); } return path; } // option bit : _4_ _3_ _2_ _1_ // | | // | --- 0 : ¸ðµç ÀÎÁõ¼­ ¸®½ºÆ®¾÷, 1 : ·Î±×ÀÎÇÑ ÀÎÁõ¼­ »ç¿ë // ------- 0 : »ç¿ëÀÚ¿¡°Ô idn ÀÔ·Â ¿ä±¸, 1 : idn¿¡ "NULL" setting, ¼­¹ö¿¡¼­ idn ¼³Á¤ /** * ÀÎÁõ¼­ÀÇ ½Äº°¹øÈ£¸¦ °ËÁõÇÑ´Ù.
* * @ingroup etcAPI * @param Idn
°ËÁõÇÒ ÀÎÁõ¼­ÀÇ ½Äº°¹øÈ£
* Idn¿¡ ¡°¡±ÀÌ¸é »ç¿ëÀڷκÎÅÍ IDNÀ» ÀԷ¹޴´Ù.
* option bit : _4_ _3_ _2_ _1_
* | |
* | --- 0 : ¸ðµç ÀÎÁõ¼­ ¸®½ºÆ®¾÷, 1 : ·Î±×ÀÎÇÑ ÀÎÁõ¼­ »ç¿ë
* ------- 0 : »ç¿ëÀÚ¿¡°Ô idn ÀÔ·Â ¿ä±¸, 1 : idn¿¡ "NULL" setting, ¼­¹ö¿¡¼­ idn ¼³Á¤
* @param TimeStamp ¼­¹öÀÇ Å¸ÀÓ½ºÅÆ * @param ServerCertPem pemŸÀÔÀÇ ¼­¹öÀÎÁõ¼­ * * @return ¼º°øÇϸé VIDÁ¤º¸¸¦ envelopÇÑ °á°ú ¸®ÅÏ * ½ÇÆÐ½Ã ¡°¡± ¸®ÅÏ */ function VerifyVirtualID(Idn, TimeStamp, ServerCertPem) { var msg; var option = 0; option = 0; // ¸ðµç ÀÎÁõ¼­ ¸®½ºÆ®¾÷, »ç¿ëÀÚ¿¡°Ô idn ÀÔ·Â ¿ä±¸ // option = 1; // ·Î±×ÀÎÇÑ ÀÎÁõ¼­ »ç¿ë, »ç¿ëÀÚ¿¡°Ô idn ÀÔ·Â ¿ä±¸ // only over XecureWeb Client v5.3.0.1 // option = 2; // ¸ðµç ÀÎÁõ¼­ ¸®½ºÆ®¾÷, idn¿¡ "NULL" ¼³Á¤ // option = 3; // ·Î±×ÀÎÇÑ ÀÎÁõ¼­ »ç¿ë, idn¿¡ "NULL" ¼³Á¤ if( IsNetscape() ) { msg = document.XecureWeb.VerifyAndGetVID(xgate_addr, ServerCertPem, TimeStamp, escape(accept_cert), option, escape(Idn)); } else { msg = document.XecureWeb.VerifyAndGetVID(xgate_addr, ServerCertPem, TimeStamp, accept_cert, option, Idn); } return msg; } // nOption is 0 : (default value) File version, which is checked by 'Internet Explorer' // 1 : Product version // 2 : File Description /** * XecureWeb Control ¿¡ °ü·ÃµÈ ¹öÀü Á¤º¸¸¦ ¸®ÅÏÇÑ´Ù. * * @ingroup etcAPI * @param nOption
* 0 : (default value) File version, which is checked by 'Internet Explorer'
* 1 : Product version
* 2 : File Description * * @return nOption ¿¡ µû¸¥ ¹öÀü Á¤º¸
* ±×³É GetVersion()À» È£ÃâÇϸé Object tag¿¡¼­ ÂüÁ¶ÇÏ´Â ¹öÀüÀ» ¾òÀ» ¼ö ÀÖ´Ù.
* ¸®ÅϰªÀº ¡°7, 0, 5, 0¡± °ú °°Àº Çü½ÄÀÌ´Ù. * */ function GetVersion(nOption) { var ver; if( IsNetscape() ) { alert("Not supported function"); ver = ""; } else { ver = document.XecureWeb.GetVerInfo(nOption); if( ver == "" ) alert("No version information"); } return ver; } // only over XecureWeb Client v5.3.0.1 /** * infoURL·ÎºÎÅÍ °¡Á®¿Â ¼­¸íµÈ ¾÷µ¥ÀÌÆ® Á¤º¸ÆÄÀÏÀ» ÀÌ¿ëÇÏ¿© ÇÊ¿äÇÑ ÆÄÀÏÀ» ´Ù¿î·ÎµåÇÏ¿© ¼³Ä¡ÇÑ´Ù.
* * @ingroup etcAPI * @param infoURL : ¾÷µ¥ÀÌÆ® Á¤º¸ÆÄÀÏÀÌ ÀÖ´Â URL
* Ex) infoURL = ¡°http://download.softforum.co.kr/ XecureWeb/Update/info.ini.sig¡± * * @return 0 : ¼º°ø, 1 : »ç¿ëÀÚ Ãë¼Ò, 2 : ¾÷µ¥ÀÌÆ®ÇÒ ÆÄÀÏÀ» ´Ù¸¥ ¾ÖÇø®ÄÉÀ̼ǿ¡¼­ »ç¿ëÁß, 3 : ÀÌ¹Ì ¾÷µ¥ÀÌÆ®µÇ¾úÀ½, 4 : ¾÷µ¥ÀÌÆ® ±ÇÇÑÀÌ ¾ø´Â »ç¿ëÀÚ, 5 : ÃֽйöÀüÀÓ, -1 : ½ÇÆÐ */ function UpdateModules( infoURL ) { var ret; if( IsNetscape() ) { alert("Not supported function"); ret = 0; } else { // success : 0, cancel : 1, file(s) holded : 2, already updated : 3, invalid user : 4, need not : 5 // error : -1 PutUBIKey(); //ÈÞ´ëÆùÀÎÁõ¼­¼­ºñ½º Àû¿ë ret = document.XecureWeb.UpdateModules( infoURL ); } return ret; } // only over XecureWeb Client v5.3.0.1 /** * »ç¿ëÀÚ PC¿¡ ÀúÀåµÈ ¾÷µ¥ÀÌÆ® Á¤º¸ÆÄÀÏÀÇ ³»¿ëÀ» º¯°æÇÑ´Ù.
*
* example>
* SetUpdateInfo( ¡°PERIOD¡±, ¡°Apply¡±, ¡°0¡± );
* => ÇÏ·ç·Î ¼³Á¤µÇ¾î ÀÖ´Â ¾÷µ¥ÀÌÆ® Áֱ⸦ ÀϽÃÀûÀ¸·Î ¹«È¿È­½ÃÅ´
* * @ingroup etcAPI * @param section ´Ù¿î·ÎµåµÈ ¾÷µ¥ÀÌÆ® Á¤º¸ÆÄÀÏÀÇ section name * @param key section³»ºÎÀÇ key name * @param value1 º¯°æÇÒ ½ÇÁ¦ value * * @return 0 : ¼º°ø, -1 : ½ÇÆÐ */ function SetUpdateInfo( section, key, value1 ) { var ret; if( IsNetscape() ) { alert( "Not supported function" ); ret = 0; } else { ret = document.XecureWeb.SetUpdateInfoString( section, key, value1 ); } return ret; } // inserted by knlee 2003/06/10 function SetProviderList() { var ret; //var provName = "TrustedNet Connect 2 Smart Card CSP;Microsoft Base Cryptographic Provider v1.0;Microsoft Enhanced Cryptographic Provider v1.0"; var provName = "TrustedNet Connect 2 Smart Card CSP;Keycorp CSP"; if( IsNetscape() ) { alert("Not supported function"); return -1; } else { ret = document.XecureWeb.SetProvider(provName); if( ret != 0 ) alert("Set Provider name is Fail!"); } return ret; } // applet¿¡¼­ servletÀ¸·Î º¸³¾ °ªÀ» ¾Ïȣȭ ÇÏ´Â function function enc(str) { var state=''; var plain=''; var escaped_state=''; // plain=String(str); alert("enc : " + str.length); if (navigator.appName == 'Netscape') state=XecureWeb.BlockEnc(xgate_addr, "/off", escape(str), "POST"); else state=XecureWeb.BlockEnc(xgate_addr, "/off", str, "POST"); //escaped_state=escape_url(state); // escaped_state=escape_url_applet(state); alert("POST:" + state.length); alert("enc end"); return state; } // servlet¿¡¼­ appletÀ¸·Î º¸³»ÁØ °ªÀ» º¹È£È­ ÇÏ´Â function function dec(str) { var result=BlockDec(str); return result; } function quick_escape(str) { var len, leftlen, cut, i, j, pos, k; var out = "", out1 = "", out2 = ""; len = str.length; if(len > 160) { leftlen = len/2; cut = Math.round(leftlen); out1 = quick_escape(str.substring(0, cut)); out2 = quick_escape(str.substring(cut)); out = out1 + out2; }else { pos = 0; j = -2; k = -2; while (pos > -1 && pos < len) { if(j == -2) j = str.indexOf('+', pos); if(k == -2) k = str.indexOf('=', pos); if(j < 0 && k < 0) { out += str.substring(pos); break; } if ((j < k && j > -1) || (j > -1 && k < 0)) { out += str.substring(pos, j); out += '%2B'; pos = j + 1; j = -2; } else if ((j > k && k > -1) || (k > -1 && j < 0)) { out += str.substring(pos, k); out += '%3D'; pos = k + 1; k = -2; } else{ out += str.substring(pos); pos = -1; } } } return out; } function escape_url_applet(in_str) { var len, leftlen, cut; var out = "", out1 = "", out2 = ""; len = in_str.length; if(len > 160) { leftlen = len/2; cut = Math.round(leftlen); out1 = quick_escape(in_str.substring(0, cut)); out2 = quick_escape(in_str.substring(cut)); out = out1 + out2; }else { out = quick_escape(in_str); } alert("escape_url_applet end : " + out.length); return out; } /* *** valid for only XWebFilCom v5.5.x *** It is possible to combine following option flags [EXCEPTION] - 1,2 cannot be used simultaneously - 4 is valid for only 1 envOption = 1 : ÀÎÁõ¼­±â¹Ý ÀüÀÚºÀÅõ = 2 : ÆÐ½º¿öµå±â¹Ý ÀüÀÚºÀÅõ = 4 : ¿©·¯ °³ÀÇ ÀÎÁõ¼­·Î ÀüÀÚºÀÅõ = 8 : CMS ŸÀÔÀ¸·Î Envelop = 256 : ·Î±×ÀÎÇÑ ÀÎÁõ¼­·Î ÀüÀÚºÀÅõ return value - success : enveloped message - fail : "" */ function EnvelopData( inMsg, pwd, certPem, envOption ) { var envMsg; envMsg = document.XecureWeb.EnvelopData( xgate_addr, XecureEscape(accept_cert), XecureEscape(inMsg), envOption, pwd, certPem, "", 0, "", 3 ); if( envMsg == "" ) { XecureWebError(); } return envMsg; } // added Park, sohyun // MultiSignData Ãß°¡ //Multi_SignÀ» ÇϱâÀ§ÇØ Ã³À½¿¡ ½ÇÇà. //º¯¼ö ÃʱâÈ­, Sign Id ¹ÞÀ½. var s_sign_desc = "MultiSign"; var s_bannerPath = "CHB_EFMS"; var cert_serial = "0376b015"; /* * Multi_SignÀ» ÇϱâÀ§ÇØ Ã³À½¿¡ ½ÇÇà
*/ function Multi_Sign_Init() { // PutMobisignData(); //¸ðºñ½ÎÀΠȣÃâ PutUBIKey(); //ÈÞ´ëÆùÀÎÁõ¼­¼­ºñ½º Àû¿ë var multiSignId; multiSignId = document.XecureWeb.MultiSignInit(); //MultiSignInit()È£Ãâ if( multiSignId < 0 ) { XecureSignError(); } else { } return multiSignId; } /* * Multi_Sign µ¥ÀÌÅ͸¦ ¼³Á¤ÇÑ´Ù. */ function Set_Multi_Sign_Data(multiSignId, plain) { var originalDataTotalSize = 0; if(multiSignId != "") { originalDataTotalSize = document.XecureWeb.SetMultiSignData(multiSignId, plain); if( originalDataTotalSize < 0 ) { XecureSignError(); } else { } } else { alert("MultiSignInit¸¦ ¸ÕÀú ÇØÁֽʽÿÀ"); } return originalDataTotalSize; } // option : // 0 : ¼­¸í ¿ø¹® Ãâ·Â ¾ÈÇÔ // 1 : ¼­¸í ¿ø¹® Ãâ·Â //x2 0 : hex encoding //x2 1 : BASE64 encoding // mask : 0 : all certificates // 1 : only user certificates // 2 : only coperation certificates // ÃÖ½ÅÀº MultiSign ÇÔ¼ö ÁÖ¼® Âü°í function Multi_Sign(multiSignId, Option) { var result = 0; if(multiSignId != "") { result = document.XecureWeb.MultiSignEx(multiSignId, xgate_addr, accept_cert, sign_desc, Option, 2); if( result < 0 ) { alert("¼­¸í¿¡ ½ÇÆÐÇß½À´Ï´Ù.");//XecureSignError(); } else { alert("¼­¸í ¼º°ø"); } } else { alert("MultiSignInit¸¦ ¸ÕÀú ÇØÁֽʽÿÀ"); } return result; } /** * MultiSign ³»ºÎ¿¡¼­ »ç¿ëÇÏ´Â ±â´É.
*/ function Get_Multi_Signed_Data(multiSignId, index) { var signedData = ""; if(multiSignId != "") { signedData = document.XecureWeb.GetMultiSignedData(multiSignId, index); if( signedData == "" ) { XecureSignError(); } else { //alert("°¡Á®¿À±â ¼º°ø"); } } else { alert("MultiSignInit¸¦ ¸ÕÀú ÇØÁֽʽÿÀ"); } return signedData; } //Multi_SignÀ» À§ÇØ ¸¶Áö¸·¿¡ Call //»ç¿ëÇÑ ¸Þ¸ð¸® °ø°£ free /** * MultiSign ³»ºÎ¿¡¼­ »ç¿ëµÇ´Â ±â´ÉÀ¸·Î »ç¿ëÇÑ ¸Þ¸ð¸®¸¦ ÇØÁ¦ÇÑ´Ù.
*/ function Multi_Sign_Final(multiSignId) { var result; result = document.XecureWeb.MultiSignFinal(multiSignId); if( result < 0) { XecureSignError(); } else { multiSignId = 0; } return result; } /** * ÁÖ¾îÁø ±¸ºÐÀÚ·Î ±¸ºÐµÈ Æò¹®À» ¹Þ¾Æ. °¢°¢ÀÇ token¿¡ ´ëÇØ¼­ ÀüÀÚ¼­¸íÀ» ÇÑ´Ù.
* À̶§, ÀüÀÚ¼­¸íµÈ °ª ¶ÇÇÑ ±¸ºÐÀÚ·Î ±¸ºÐµÈ´Ù.
* * @param total ¼­¸íÇÒ µ¥ÀÌÅÍÀÇ °¹¼ö * @param sign_msg ¼­¸íÇÒ µ¥ÀÌÅÍ * @param delimeter ÀÔ·Â ¸Þ½ÃÁöÀÇ ±¸ºÐÀÚ * @return ±¸ºÐÀÚ·Î ÀÌ·ç¾îÁø ÀüÀÚ¼­¸í µ¥ÀÌÅÍ */ function MultiSign(total,sign_msg,delimeter) { // PutMobisignData(); //¸ðºñ½ÎÀΠȣÃâ PutUBIKey(); //ÈÞ´ëÆùÀÎÁõ¼­¼­ºñ½º Àû¿ë var signed_msg = ""; var multiSign_id = ""; var tmp = sign_msg; var index= ""; var length = ""; var signed_tmp;// = ""; var ret = ""; if (total <= 0 || sign_msg == "") { alert("¼­¸íÇÒ µ¥ÀÌŸ°¡ ¾ø½À´Ï´Ù"); return; } //MultiÀüÀÚ¼­¸í ÃʱâÈ­ multiSign_id = Multi_Sign_Init(); //¼­¸í°ª ¼¼ÆÃ for(i =0;i < total ;i++) { length = tmp.length; index = tmp.indexOf(delimeter); Set_Multi_Sign_Data(multiSign_id,tmp.substring(0,index)); tmp = tmp.substring(index+1,length); } //¼­¸í°ª »ý¼º ret = Multi_Sign(multiSign_id,131072);//HEX encoding if(ret != 0) { return ; } //¼­¸í°ª ÃßÃâ for(i = 0; i < total ; i++) { signed_tmp = Get_Multi_Signed_Data(multiSign_id,i); if( signed_tmp == "") { alert('aaa'); break; } signed_msg += signed_tmp + delimeter; } Multi_Sign_Final(multiSign_id); return signed_msg; } /** * ÁÖ¾îÁø ±¸ºÐÀÚ·Î ±¸ºÐµÈ Æò¹®À» ¹Þ¾Æ. °¢°¢ÀÇ token¿¡ ´ëÇØ¼­ ÁÖ¾îÁø serialÀ» °¡Áø ÀÎÁõ¼­·Î ÀüÀÚ¼­¸íÀ» ÇÑ´Ù.
* À̶§, ÀüÀÚ¼­¸íµÈ °ª ¶ÇÇÑ ±¸ºÐÀÚ·Î ±¸ºÐµÈ´Ù.
* * @param total ¼­¸íÇÒ µ¥ÀÌÅÍÀÇ °¹¼ö * @param sign_msg ¼­¸íÇÒ µ¥ÀÌÅÍ * @param delimeter ÀÔ·Â ¸Þ½ÃÁöÀÇ ±¸ºÐÀÚ * @param serial ¼­¸í¿¡ »ç¿ëÇÒ ÀÎÁõ¼­ÀÇ ½Ã¸®¾ó ¹øÈ£ * @param locaton ¼­¸í¿¡ »ç¿ëÇÒ ÀÎÁõ¼­ÀÇ À§Ä¡ Á¤º¸ * @return ±¸ºÐÀÚ·Î ÀÌ·ç¾îÁø ÀüÀÚ¼­¸í µ¥ÀÌÅÍ * @see MultiSign */ function MultiSignWithSerial(total, sign_msg, delimeter,serial,locaton) { // PutMobisignData(); //¸ðºñ½ÎÀΠȣÃâ PutUBIKey(); //ÈÞ´ëÆùÀÎÁõ¼­¼­ºñ½º Àû¿ë var signed_msg = ""; var multiSign_id = ""; var tmp = sign_msg; var index= ""; var length = ""; var signed_tmp = ""; var ret = ""; if (total <= 0 || sign_msg == "") { alert("¼­¸íÇÒ µ¥ÀÌŸ°¡ ¾ø½À´Ï´Ù"); return; } //MultiÀüÀÚ¼­¸í ÃʱâÈ­ multiSign_id = Multi_Sign_Init(); //¼­¸í°ª ¼¼ÆÃ for(i =0;i < total ;i++) { length = tmp.length; index = tmp.indexOf(delimeter); Set_Multi_Sign_Data(multiSign_id,tmp.substring(0,index)); tmp = tmp.substring(index+1,length); } ret = Multi_Sign_with_serial(multiSign_id, 256+65536+131072, serial,locaton); //base64 encoding if(ret != 0) { return ; } //¼­¸í°ª ÃßÃâ for(i = 0; i < total ; i++) { signed_tmp = Get_Multi_Signed_Data(multiSign_id,i); signed_msg += signed_tmp + delimeter; } return signed_msg; } //¸ðºñ½ÎÀÎ Ãß°¡ /*function PutMobisignData() { var bankUrl = "2070018"; var coUrl = "SOFTFORUM|KINGS"; var version = document.XecureWeb.GetVerInfo(1); var popUrl="http://www.mobisign.kr/mobisigndll.htm"; popUrl += "|popUrlwidth=450,height=400,left=10,top=10"; if( version >= '7, 2, 2, 2') { var mphone_data = "MOBISIGN:" + document.XecureWeb.GetEncUserData(xgate_addr)+ "&" + bankUrl + "&" + coUrl + "&" + popUrl + "|" + window.location.hostname; mphone_data += "|5.0.3.4";//ÇöÀç ¹èÆ÷ 5.0.3.4 -> ½º¸¶Æ®Æù document.XecureWeb.PutUserData(xgate_addr, mphone_data); document.XecureWeb.SetPhoneData(mphone_data,1); } }*/ //ÈÞ´ëÆùÀÎÁõ¼­¼­ºñ½º Ãß°¡ function PutMPhoneData() { var bankUrl = "YEBIGUN1|http://" + window.location.host + "/infovine/DownloadList"; var coUrl = "SOFTFORUM|NULL"; var popUrl = "http://" + window.location.host + "/infovine/download.html|width=450,height=400,left=10,top=10"; var version = document.XecureWeb.GetVerInfo(1); // Xecureweb Ctrl¹öÀüÀÌ 7,2,0,0ºÎÅÍ Ubikey ¹öÀü üũ °¡´É if( version.replace(/\s/g, "") < "7,2,0,0" ) { var mphone_data = "MPHONE:" + xgate_addr + "&" + bankUrl + "&" + coUrl + "&" + popUrl + "|" + window.location.hostname; document.XecureWeb.PutUserData( xgate_addr, mphone_data ); } else if( version.replace(/\s/g, "") >= "7,2,0,0" && version.replace(/\s/g, "") < "7,2,0,7" ) { var mphone_data = "MPHONE:" + xgate_addr + "&" + bankUrl + "&" + coUrl + "&" + popUrl + "|" + window.location.hostname; mphone_data += "|1.1.0.7"; document.XecureWeb.PutUserData( xgate_addr, mphone_data ); } // Xecureweb Ctrl¹öÀüÀÌ 7,2,0,7ºÎÅÍ ¹ß±ÞÀû¿ë else if( version.replace(/\s/g, "") >= "7,2,0,7" && version.replace(/\s/g, "") < "7,2,2,3" ) { var mphone_data = "MPHONE:" + xgate_addr + "&" + bankUrl + "&" + coUrl + "&" + popUrl + "|" + window.location.hostname; mphone_data += "|1.1.0.7"; document.XecureWeb.PutUserData( xgate_addr, mphone_data ); document.XecureWeb.SetPhoneData(mphone_data,1); } else if( version.replace(/\s/g, "") >= "7,2,2,3" ) { var mphone_data = "MPHONE:" + document.XecureWeb.GetEncUserData(xgate_addr); mphone_data += "&" + bankUrl + "&" + coUrl + "&" + popUrl + "|" + window.location.hostname; mphone_data += "|1.1.0.7"; document.XecureWeb.PutUserData( xgate_addr, mphone_data ); document.XecureWeb.SetPhoneData(mphone_data,1); } } function PutStorageImage() { var PhonebannerUrl = "http://" + window.location.host + "/infovine/xweb004.bmp"; var version = document.XecureWeb.GetVerInfo(1); // Xecureweb Ctrl¹öÀüÀÌ 7,2,0,0 ºÎÅÍ ¼­¸íµÈ À̹ÌÁö »ç¿ë. if( version.replace(/\s/g, "") >= "7,2,0,0" ) { PhonebannerUrl += ".sig"; } // Xecureweb Ctrl¹öÀüÀÌ 7,2,2,0 ºÎÅÍ ÈÞ´ëÆù À̹ÌÁö ´Ù¿î·Îµå ¹ÞÁö ¾ÊÀ½. if( version.replace(/\s/g, "") < "7,2,2,0" ) { document.XecureWeb.PutBigBannerUrl( "IMAGE:" + xgate_addr, PhonebannerUrl ); } } function HaveControl_web() { if(document.XecureWeb==null || typeof(document.XecureWeb) == "undefined" || document.XecureWeb.object==null) { return false; } else { return true; } } function PutUBIKey() { if( HaveControl_web() ) { PutMPhoneData(); PutStorageImage(); } } //ÈÞ´ëÆùÀÎÁõ¼­¼­ºñ½º Ãß°¡ ³¡