index.html 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. <!DOCTYPE html>
  2. <html lang="ko">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
  6. <TITLE>인증서 관리프로그램 설치 &lt; 한국전자인증</TITLE>
  7. <style type="text/css">
  8. body,div,ul,ol,li,nav,section,footer{margin: 0px auto; padding: 0px; font-family :NanumGothic, dotum, Georgia, serif,san-serif; font-size : 14px;color: #333;}
  9. h1,h2,h3,h4,h5{ margin: 0px; padding: 0px; font-weight: normal;}
  10. ul,li{ list-style: none; }
  11. a{text-decoration:none;border-radius:3px;}
  12. #setup{ width: 95%; height: 100%; margin: auto;}
  13. #next{ padding: 10px}
  14. #faq{ float: right; margin-bottom: 10px }
  15. #list{ list-style: none; line-height: 150%;margin-top: 10px}
  16. #bottom{ width: 100%; background: #f7f8f9;padding:15px 10px; position: fixed; bottom:100px;}
  17. #floating{ position: fixed; bottom:7px; right:10px; z-index:1;}
  18. /* button */
  19. #btn{ text-align: center; margin-top:15px}
  20. #btn li{ display: inline; }
  21. .bl_s a{height: 32px; line-height: 32px; border: 1px solid #244997; background: #2e58a6;color: #fff; padding: 7px 20px; margin:5px;font-size : 12px;}
  22. .bl_s a:hover{color: #2e58a6; background: #fff}
  23. .wh a{height: 32px; line-height: 32px; background: #fff;color: #2e58a6;border: 1px solid #244997; padding: 10px 10px;font-size : 18px;}
  24. .wh a:hover{ background: #2e58a6;color: #fff;}
  25. .wh_s a{line-height: 32px; background: #fff;color: #2e58a6;border: 1px solid #244997; padding: 6px 18px; font-size : 12px;}
  26. .wh_s a:hover{ background: #2e58a6;color: #fff;}
  27. .rd_s a:hover{ background: #fff;color: #e55c5c;border: 1px solid #e55c5c; }
  28. .rd_s a{ background: #e55c5c;color: #fff; line-height: 32px; padding: 7px 20px; font-size : 12px;}
  29. .setting{ color: red;}
  30. .flor{ float: right; }
  31. #setup{ max-width: 720px; }
  32. /* table */
  33. table {border-collapse: collapse; width:100%; border-top: 2px solid #5e6062; border-left: 2px solid #fff; border-right: 2px solid #fff;margin-top:10px;text-align:center}
  34. td{ background: #f7f8f9; font-size: 12px;}
  35. td a{ color: #333; }
  36. td a:hover{ color: #28459d}
  37. th, td {padding:8px; border: 1px solid #dee0e2; line-height: 140%; }
  38. td li{ text-align: left;line-height: 180%; background: url('../images/icon_dot.gif') no-repeat 0 8px; padding-left: 8px;margin-left: 5px}
  39. </style>
  40. <script type="text/javascript" src="../unisignweb/framework/json2.js" ></script>
  41. </head>
  42. <body>
  43. <div style="text-align:center;height:130px; width:100%; background:#0066bb;margin-bottom:5px"><img src="http://www.unisign.co.kr/kbstarQR/images/module.jpg" alt="" /></div>
  44. <div style="text-align:center"><img src="./CCimages/startstop.gif" class="loading" alt="" /></div>
  45. <div id="setup">
  46. <ul id="list">
  47. <li>•고객님의 안전한 인증서비스 이용을 위하여 인증프로그램을 설치합니다.</li>
  48. <li>•설치를 마치신 후 반드시 새로고침 버튼을 눌러 주시기 바랍니다.</li>
  49. <li>•설치화면이 반복적으로 나올 경우 웹브라우저를 종료하고 다시 접속하세요.</li>
  50. </ul>
  51. <br><br>
  52. <div id="faq">
  53. <span style="margin-right: 15px;">문의전화 1566-0566</span>
  54. <span id="btn" class="wh_s"><a href="https://www.crosscert.com/support" target="_blank">원격지원서비스</a></span>&nbsp;&nbsp;
  55. <span id="btn" class="rd_s"><a href="https://board.crosscert.com/faq/uni/9" target="_blank">프로그램 설치 오류 해결하기</a></span>
  56. </div>
  57. <table>
  58. <tr>
  59. <th width="150px">프로그램명</th>
  60. <th>기능</th>
  61. <th width="150px">설치상태</th>
  62. </tr>
  63. <tr>
  64. <td>UniSign<br>(<span id="usversion"></span>)</td>
  65. <td> 인증서 이동을 위한 응용프로그램입니다. </td>
  66. <td id="install_2">
  67. <span class="setting" id="install_txt_2">설치확인중</span><br />
  68. <span id="btn_inatall_2" class="wh_s" style="display: none;"><a href="#" onclick="fnDownload()">설치하기</a></span>
  69. <span id="btn_run_2" class="wh_s" style="display: none;"><a href="#" onclick="fnRun(2)">실행하기</a></span>
  70. </td>
  71. </tr>
  72. </table>
  73. <iframe id="us-downloadURL" name="us-downloadURL" width="0" height="0" style="display: none;"></iframe>
  74. <div id="next" style="text-align: center">
  75. 설치가 완료되면 자동으로 페이지를 이동합니다.<br>
  76. <!-- <span id="btn" class="bl_s"><a href="javascript:;" onclick="self.close()" style="font-weight: bold;">확인</a></span> -->
  77. </div>
  78. </div>
  79. </body>
  80. <script type="text/javascript">
  81. var isInstall = {unicrs:false};
  82. // OS
  83. var OSTYPE_WIN32 = "Win32";
  84. var OSTYPE_WIN64 = "Win64";
  85. var OSTYPE_MAC = "MAC";
  86. var OSTYPE_UNKNOWN = "Unknown";
  87. var Client_OS = "Win32";
  88. if(navigator.platform == OSTYPE_WIN32) Client_OS = OSTYPE_WIN32;
  89. else if(navigator.platform == OSTYPE_WIN64) Client_OS = OSTYPE_WIN64;
  90. else if(navigator.platform == "MacIntel") Client_OS = OSTYPE_MAC;
  91. else Client_OS = OSTYPE_UNKNOWN;
  92. var unicrsVersion = "2.0.11.2";
  93. var unicrsSrc = "https://127.0.0.1:15018";
  94. var mainPageUrl = "../unicrsv3_sample/kbstarQR/multi_pc_mobile_proc.html";
  95. var chkCount = 0;
  96. var versionCheck = false;
  97. var cntAdd = 0;
  98. var sessionID = Math.random();
  99. document.getElementById("usversion").innerHTML = "v" + unicrsVersion;
  100. function parseInt(s){
  101. var ver = s.replace(/\./g, "");
  102. return ver * 1;
  103. }
  104. function fnInstallOKGo(){
  105. if(isInstall.unicrs == true){
  106. setTimeout(function(){document.location.href = mainPageUrl;}, 500);
  107. }else{
  108. setTimeout(fnInstallOKGo, 1000);
  109. }
  110. }
  111. function statusMsg(txt, cnt){
  112. if(cnt) for(var i=0; i<cnt; i++) txt += ".";
  113. document.getElementById("next").innerHTML = txt;
  114. }
  115. function isUpdate(ver, lst){
  116. var l = lst.split('.'),
  117. c = ver.split('.'), len = Math.max(l.length, c.length);
  118. len = 3;
  119. for(var i=0; i<len; i++){
  120. if ((l[i] && !c[i] && parseInt(l[i]) > 0) || (parseInt(l[i]) > parseInt(c[i]))) {
  121. return true;
  122. } else if ((c[i] && !l[i] && parseInt(c[i]) > 0) || (parseInt(l[i]) < parseInt(c[i]))) {
  123. return false;
  124. }
  125. }
  126. return false;
  127. }
  128. function fnDownload(){
  129. if(Client_OS == OSTYPE_MAC)
  130. document.getElementById("us-downloadURL").src = './UniSignCRSV3Setup.pkg';
  131. else
  132. document.getElementById("us-downloadURL").src = './UniSignCRSV3Setup.exe';
  133. }
  134. function fnUniCRSCall(){
  135. document.getElementById("hsmiframe").src = "UNICRSV3:///";
  136. setTimeout(function(){document.location.reload();}, 5000);
  137. }
  138. var UniCRSVersion = function(data){
  139. var currentVersion = data.split(":")[1];
  140. var cv = currentVersion.split('.');
  141. currentVersion = cv[0] + '.' + cv[1] + '.' + cv[2] + '.0';
  142. if( isUpdate(currentVersion, unicrsVersion) ){
  143. document.getElementById("install_txt_2").innerHTML = '업데이트 필요('+currentVersion+')';
  144. document.getElementById("btn_inatall_2").style.display = 'block';
  145. setTimeout(UniCRSChecker, 2000);
  146. }else{
  147. isInstall.unicrs = true;
  148. document.getElementById("install_txt_2").innerHTML = '설치됨';
  149. document.getElementById("btn_inatall_2").style.display = 'none';
  150. statusMsg("인증서 이동 프로그램이 설치되었습니다");
  151. fnInstallOKGo();
  152. }
  153. }
  154. var count = 0;
  155. var UniCRSChecker = function(){
  156. console.log(count++);
  157. var fnResult2 = function(obj, r){
  158. if(obj && obj.parentNode) obj.parentNode.removeChild(obj);
  159. var fnlogic = function(){
  160. if(r){
  161. document.getElementById("install_txt_2").innerHTML = '버전확인중';
  162. document.getElementById("btn_inatall_2").style.display = 'none';
  163. var j = document.createElement('script');
  164. var url = unicrsSrc + "/VER?UniCRSVersion";
  165. j.setAttribute('src', url);
  166. j.setAttribute('type', 'text/javascript');
  167. document.getElementsByTagName('body')[0].appendChild(j);
  168. }else{
  169. document.getElementById("install_txt_2").innerHTML = '설치안됨';
  170. document.getElementById("btn_inatall_2").style.display = 'block';
  171. if(navigator.userAgent.indexOf("Firefox") > -1){
  172. statusMsg("인증서 이동 프로그램이 설치되어있지 않거나 실행중이 아닙니다<br>FireFox 브라우져일 경우 설치후 브라우져를 재시작 하셔야 합니다.");
  173. }else if (navigator.userAgent.indexOf("MSIE 7.0") > -1 && navigator.userAgent.indexOf("compatible") < 0) {
  174. statusMsg("사용중인 IE7 브라우져에서는 동작하지 않습니다. 타 브라우져 또는 IE버전을 업데이트 하시길 바랍니다.");
  175. } else {
  176. statusMsg("인증서 이동 프로그램이 설치되어있지 않거나 실행중이 아닙니다<br><br>실행하시기 바랍니다.");
  177. }
  178. setTimeout(UniCRSChecker, 1000);
  179. }
  180. }
  181. setTimeout(fnlogic,200);
  182. }
  183. var chkImg;
  184. if (navigator.userAgent.indexOf("MSIE 7.0") != -1) {
  185. chkImg = document.createElement("<img id='uniImg' src='"+unicrsSrc + '/CRS?cd=' + Math.random() + "' onload='fnResult2(this, true)' onerror='fnResult2(this, false)' />");
  186. chkImg.onerror = function() {fnResult2(chkImg, false);};
  187. chkImg.onload = function() {fnResult2(chkImg, true);};
  188. chkImg.style.display = "none";
  189. } else {
  190. chkImg = document.createElement('img');
  191. chkImg.setAttribute('id', "uniImg");
  192. chkImg.setAttribute('src', unicrsSrc + '/CRS?cd=' + Math.random());
  193. chkImg.onerror = function() {fnResult2(chkImg, false);};
  194. chkImg.onload = function() {fnResult2(chkImg, true);};
  195. chkImg.style.display = "none";
  196. }
  197. document.body.appendChild(chkImg);
  198. }
  199. UniCRSChecker();
  200. </script>
  201. </html>