ipin_main.jsp 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. <%@ page contentType="text/html;charset=euc-kr" %>
  2. <%@ page language="java" import="Kisinfo.Check.IPIN2Client" %>
  3. <%
  4. /********************************************************************************************************************************************
  5. NICE평가정보 Copyright(c) KOREA INFOMATION SERVICE INC. ALL RIGHTS RESERVED
  6. 서비스명 : IPIN 가상주민번호 서비스
  7. 페이지명 : IPIN 가상주민번호 서비스 호출 페이지
  8. *********************************************************************************************************************************************/
  9. String sSiteCode = ""; // NICE평가정보에서 발급한 IPIN 서비스 사이트코드
  10. String sSitePw = ""; // NICE평가정보에서 발급한 IPIN 서비스 사이트패스워드
  11. /*
  12. ┌ sReturnURL 변수에 대한 설명 ─────────────────────────────────────────────────────
  13. 암호화된 인증결과 데이터를 리턴받을 URL을 프로토콜부터 풀주소로 정의해주세요.
  14. * URL은 반드시 프로토콜부터 입력해야 하며 외부에서 접속이 가능한 주소여야 합니다.
  15. * 당사 샘플페이지 중 ipin_process 페이지가 인증결과 데이터를 리턴받는 페이지입니다.
  16. 예 - http://www.test.co.kr/ipin_process.jsp
  17. https://www.test.kr:4343/ipin_process.jsp
  18. └────────────────────────────────────────────────────────────────────
  19. */
  20. String sReturnURL = "http://.../ipin_process.jsp";
  21. /*
  22. ┌ sCPRequest 변수에 대한 설명 ─────────────────────────────────────────────────────
  23. CP요청번호는 추가적인 보안처리를 위한 변수입니다. 인증 후 인증결과 데이터와 함께 전달됩니다.
  24. 세션에 저장된 값과 비교해 데이터 위변조를 검사하거나, 사용자 특정용으로 이용할 수 있습니다.
  25. 위변조 검사는 인증에 필수적인 처리는 아니며 보안을 위한 권고 사항입니다.
  26. + CP요청번호 설정 방법
  27. 1. 당사에서 배포된 모듈로 생성
  28. 2. 귀사에서 임의로 정의(최대 30byte)
  29. └────────────────────────────────────────────────────────────────────
  30. */
  31. String sCPRequest = "";
  32. // 모듈객체 생성
  33. IPIN2Client pClient = new IPIN2Client();
  34. // CP요청번호 생성
  35. sCPRequest = pClient.getRequestNO(sSiteCode);
  36. // CP요청번호 세션에 저장
  37. // : 저장된 값은 ipin_result 페이지에서 데이터 위변조 검사에 이용됩니다.
  38. session.setAttribute("CPREQUEST" , sCPRequest);
  39. // 인증요청 암호화 데이터 생성
  40. int iRtn = pClient.fnRequest(sSiteCode, sSitePw, sCPRequest, sReturnURL);
  41. String sEncData = ""; // 인증요청 암호화 데이터
  42. String sRtnMsg = ""; // 처리결과 메세지
  43. // 암호화 처리결과코드에 따른 처리
  44. if (iRtn == 0)
  45. {
  46. // 인증요청 암호화 데이터 추출
  47. sEncData = pClient.getCipherData();
  48. sRtnMsg = "정상 처리되었습니다.";
  49. }
  50. else if (iRtn == -1)
  51. {
  52. sRtnMsg = "암호화 시스템 오류 : 귀사 서버 환경에 맞는 모듈을 이용해주십시오.<br>오류가 지속되는 경우 iRtn 값, 서버 환경정보, 사이트코드를 기재해 문의주시기 바랍니다.";
  53. }
  54. else if (iRtn == -2)
  55. {
  56. sRtnMsg = "암호화 처리 오류 : 최신 모듈을 이용해주십시오. 오류가 지속되는 경우 iRtn 값, 서버 환경정보, 사이트코드를 기재해 문의주시기 바랍니다.";
  57. }
  58. else if (iRtn == -9)
  59. {
  60. sRtnMsg = "입력 정보 오류 : 암호화 함수에 입력된 파라미터 값을 확인해주십시오.<br>오류가 지속되는 경우, 함수 실행 직전 각 파라미터 값을 로그로 출력해 발송해주시기 바랍니다.";
  61. }
  62. else
  63. {
  64. sRtnMsg = "기타 오류: iRtn 값과 적용한 샘플소스를 발송해주시기 바랍니다.";
  65. }
  66. %>
  67. <html>
  68. <head>
  69. <meta charset="EUC-KR">
  70. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  71. <title>NICE평가정보 가상주민번호 서비스</title>
  72. <script>
  73. window.name ="Parent_window";
  74. function fnPopup(){
  75. window.open('', 'popupIPIN2', 'width=450, height=550, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbar=no');
  76. document.form_ipin.target = "popupIPIN2";
  77. document.form_ipin.action = "https://cert.vno.co.kr/ipin.cb";
  78. document.form_ipin.submit();
  79. }
  80. </script>
  81. </head>
  82. <body>
  83. iRtn : <%= iRtn %> - <%= sRtnMsg %><br><br>
  84. 인증요청 암호화 데이터 : [<%= sEncData %>]<br><br>
  85. <!-- 아이핀 가상주민번호 서비스 팝업 호출 form -->
  86. <form name="form_ipin" method="post">
  87. <!-- 요청모드 (필수 데이터) -->
  88. <input type="hidden" name="m" value="pubmain">
  89. <!-- 인증요청 암호화 데이터 -->
  90. <input type="hidden" name="enc_data" value="<%= sEncData %>">
  91. <!-- 팝업 호출 이미지 버튼 -->
  92. <a href="javascript:fnPopup();">
  93. <img src="http://image.creditbank.co.kr/static/img/vno/new_img/bt_17.gif" width=218 height=40 border=0>
  94. </a>
  95. </form>
  96. <!-- 아이핀 가상주민번호 서비스 팝업 인증결과 전달 form -->
  97. <form name="vnoform" method="post">
  98. <!-- 인증결과 암호화 데이터 -->
  99. <input type="hidden" name="enc_data">
  100. </form>
  101. </body>
  102. </html>