package itn.let.uat.uia.web; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Random; import org.apache.commons.lang3.StringUtils; import com.icert.comm.secu.IcertSecuManager; import itn.let.uat.uia.service.AuthCertVO; import itn.let.uss.umt.service.MberManageVO; public class KmcCertChecker { //회원가입 시 인증수단을 휴대폰 본인인증만 했을 경우 사용 public AuthCertVO authCertCheck(String trUrl) { AuthCertVO certVO = new AuthCertVO(); //kmc step 01 데이터 //날짜 생성 Calendar today = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); String day = sdf.format(today.getTime()); Random ran = new Random(); //랜덤 문자 길이 int numLength = 6; String randomStr = ""; for (int i = 0; i < numLength; i++) { //0 ~ 9 랜덤 숫자 생성 randomStr += ran.nextInt(10); } //reqNum은 최대 40byte 까지 사용 가능 String reqNum = day + randomStr; //요청번호 String tr_cert = ""; String cpId = "MJOM1001"; // 회원사ID String urlCode = "001003"; // URL코드 //kmc 본인인증 실/개발 서버 구분 if(trUrl.contains("119.193.215.98") || trUrl.contains("localhost")) { urlCode = "005001"; } String certNum = reqNum; // 요청번호 ( 본인인증 요청시 중복되지 않게 생성해야함. (예-시퀀스번호) ) String date = day; // 요청일시 String certMet = "M"; // 본인인증방법 - M:휴대폰 본인인증, C:신용카드인증, P:공인인증서 인증 String name = ""; // 성명 String phoneNo = ""; // 휴대폰번호 String phoneCorp = ""; // 이동통신사 if(phoneCorp == null) phoneCorp = ""; String birthDay = ""; // 생년월일 String gender = ""; // 성별 if(gender == null) gender = ""; String nation = "0"; // 내외국인 구분 - 0:내국인, 1:외국인 String plusInfo = ""; // 추가DATA정보 String extendVar = "0000000000000000"; // 확장변수 //End-tr_cert 데이터 변수 선언 --------------------------------------------------------------- String tr_url = trUrl;//"http://www.munjaon.co.kr/web/cop/kmc/authRequestAjax.do"; // 본인인증서비스 결과수신 POPUP URL String tr_add = "N"; // IFrame사용여부 //01. 한국모바일인증(주) 암호화 모듈 선언 IcertSecuManager seed = new IcertSecuManager(); //02. 1차 암호화 (tr_cert 데이터변수 조합 후 암호화) String enc_tr_cert = ""; tr_cert = cpId +"/"+ urlCode +"/"+ certNum +"/"+ date +"/"+ certMet +"/"+ birthDay +"/"+ gender +"/"+ name +"/"+ phoneNo +"/"+ phoneCorp +"/"+ nation +"/"+ plusInfo +"/"+ extendVar; enc_tr_cert = seed.getEnc(tr_cert, ""); //03. 1차 암호화 데이터에 대한 위변조 검증값 생성 (HMAC) String hmacMsg = ""; hmacMsg = seed.getMsg(enc_tr_cert); //04. 2차 암호화 (1차 암호화 데이터, HMAC 데이터, extendVar 조합 후 암호화) tr_cert = seed.getEnc(enc_tr_cert + "/" + hmacMsg + "/" + extendVar, ""); certVO.setTr_cert(tr_cert); certVO.setTr_url(tr_url); certVO.setTr_add(tr_add); return certVO; } //회원가입 시 인증수단을 ARS, 휴대폰 본인인증 했을 경우 사용 public AuthCertVO authCertCheckTwo(String trUrl, String mberNm, String moblphonNo, String sexdstnCode, String nationality, String birth) { AuthCertVO certVO = new AuthCertVO(); //kmc step 01 데이터 //날짜 생성 Calendar today = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); String day = sdf.format(today.getTime()); Random ran = new Random(); //랜덤 문자 길이 int numLength = 6; String randomStr = ""; for (int i = 0; i < numLength; i++) { //0 ~ 9 랜덤 숫자 생성 randomStr += ran.nextInt(10); } //reqNum은 최대 40byte 까지 사용 가능 String reqNum = day + randomStr; //요청번호 String tr_cert = ""; String cpId = "MJOM1001"; // 회원사ID String urlCode = "001003"; // URL코드 //kmc 본인인증 실/개발 서버 구분 if(trUrl.contains("119.193.215.98") || trUrl.contains("localhost")) { urlCode = "004001"; } String certNum = reqNum; // 요청번호 ( 본인인증 요청시 중복되지 않게 생성해야함. (예-시퀀스번호) ) String date = day; // 요청일시 String certMet = "M"; // 본인인증방법 - M:휴대폰 본인인증, C:신용카드인증, P:공인인증서 인증 String name = mberNm; // 성명 String phoneNo = moblphonNo; // 휴대폰번호 String phoneCorp = ""; // 이동통신사 if(phoneCorp == null) phoneCorp = ""; String birthDay = birth; // 생년월일 String gender = sexdstnCode; // 성별 if(gender == null) gender = ""; String nation = nationality; // 내외국인 구분 - 0:내국인, 1:외국인 String plusInfo = ""; // 추가DATA정보 String extendVar = "0000000000000000"; // 확장변수 //End-tr_cert 데이터 변수 선언 --------------------------------------------------------------- String tr_url = trUrl;//"http://www.munjaon.co.kr/web/cop/kmc/authRequestAjax.do"; // 본인인증서비스 결과수신 POPUP URL String tr_add = "N"; // IFrame사용여부 //01. 한국모바일인증(주) 암호화 모듈 선언 IcertSecuManager seed = new IcertSecuManager(); //02. 1차 암호화 (tr_cert 데이터변수 조합 후 암호화) String enc_tr_cert = ""; tr_cert = cpId +"/"+ urlCode +"/"+ certNum +"/"+ date +"/"+ certMet +"/"+ birthDay +"/"+ gender +"/"+ name +"/"+ phoneNo +"/"+ phoneCorp +"/"+ nation +"/"+ plusInfo +"/"+ extendVar; enc_tr_cert = seed.getEnc(tr_cert, ""); //03. 1차 암호화 데이터에 대한 위변조 검증값 생성 (HMAC) String hmacMsg = ""; hmacMsg = seed.getMsg(enc_tr_cert); //04. 2차 암호화 (1차 암호화 데이터, HMAC 데이터, extendVar 조합 후 암호화) tr_cert = seed.getEnc(enc_tr_cert + "/" + hmacMsg + "/" + extendVar, ""); certVO.setTr_cert(tr_cert); certVO.setTr_url(tr_url); certVO.setTr_add(tr_add); return certVO; } //아이디 패스워드 찾기 본인인증 public AuthCertVO authCertCheckThree(String trUrl, MberManageVO mberManageVO) { AuthCertVO certVO = new AuthCertVO(); //kmc step 01 데이터 //날짜 생성 Calendar today = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); String day = sdf.format(today.getTime()); Random ran = new Random(); //랜덤 문자 길이 int numLength = 6; String randomStr = ""; for (int i = 0; i < numLength; i++) { //0 ~ 9 랜덤 숫자 생성 randomStr += ran.nextInt(10); } //reqNum은 최대 40byte 까지 사용 가능 String reqNum = day + randomStr; //요청번호 String tr_cert = ""; String cpId = "MJOM1001"; // 회원사ID String urlCode = mberManageVO.getAuthRUrlCode(); // URL 인증 코드 //kmc 본인인증 실/개발 서버 구분 if(trUrl.contains("119.193.215.98") || trUrl.contains("localhost")) { urlCode = "005002"; } String certNum = reqNum; // 요청번호 ( 본인인증 요청시 중복되지 않게 생성해야함. (예-시퀀스번호) ) String date = day; // 요청일시 String certMet = "M"; // 본인인증방법 - M:휴대폰 본인인증, C:신용카드인증, P:공인인증서 인증 String name = mberManageVO.getMberNm(); // 성명 String phoneNo = mberManageVO.getMoblphonNo(); // 휴대폰번호 String phoneCorp = ""; // 이동통신사 if(phoneCorp == null) phoneCorp = ""; String birthDay = ""; // 생년월일 String gender = ""; // 성별 if(gender == null) gender = ""; String nation = "0"; // 내외국인 구분 - 0:내국인, 1:외국인 String plusInfo = mberManageVO.getMberId(); // 추가DATA정보 if(StringUtils.isNotEmpty(mberManageVO.getPassword())) { plusInfo = plusInfo + ",,," + mberManageVO.getPassword(); } String extendVar = "0000000000000000"; // 확장변수 //End-tr_cert 데이터 변수 선언 --------------------------------------------------------------- String tr_url = trUrl;//"http://www.munjaon.co.kr/web/cop/kmc/authRequestAjax.do"; // 본인인증서비스 결과수신 POPUP URL String tr_add = "N"; // IFrame사용여부 //01. 한국모바일인증(주) 암호화 모듈 선언 IcertSecuManager seed = new IcertSecuManager(); //02. 1차 암호화 (tr_cert 데이터변수 조합 후 암호화) String enc_tr_cert = ""; tr_cert = cpId +"/"+ urlCode +"/"+ certNum +"/"+ date +"/"+ certMet +"/"+ birthDay +"/"+ gender +"/"+ name +"/"+ phoneNo +"/"+ phoneCorp +"/"+ nation +"/"+ plusInfo +"/"+ extendVar; enc_tr_cert = seed.getEnc(tr_cert, ""); //03. 1차 암호화 데이터에 대한 위변조 검증값 생성 (HMAC) String hmacMsg = ""; hmacMsg = seed.getMsg(enc_tr_cert); //04. 2차 암호화 (1차 암호화 데이터, HMAC 데이터, extendVar 조합 후 암호화) tr_cert = seed.getEnc(enc_tr_cert + "/" + hmacMsg + "/" + extendVar, ""); certVO.setTr_cert(tr_cert); certVO.setTr_url(tr_url); certVO.setTr_add(tr_add); return certVO; } //IP 체크해주기 public AuthCertVO authCertCheckFour(String trUrl, String mberNm, String moblphonNo, String sexdstnCode, String nationality, String birth, String id) { AuthCertVO certVO = new AuthCertVO(); //kmc step 01 데이터 //날짜 생성 Calendar today = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); String day = sdf.format(today.getTime()); Random ran = new Random(); //랜덤 문자 길이 int numLength = 6; String randomStr = ""; for (int i = 0; i < numLength; i++) { //0 ~ 9 랜덤 숫자 생성 randomStr += ran.nextInt(10); } //reqNum은 최대 40byte 까지 사용 가능 String reqNum = day + randomStr; //요청번호 String tr_cert = ""; String cpId = "MJOM1001"; // 회원사ID String urlCode = "001006"; // URL코드 //kmc 본인인증 실/개발 서버 구분 if(trUrl.contains("119.193.215.98") || trUrl.contains("localhost")) { urlCode = "005003"; } String certNum = reqNum; // 요청번호 ( 본인인증 요청시 중복되지 않게 생성해야함. (예-시퀀스번호) ) String date = day; // 요청일시 String certMet = "M"; // 본인인증방법 - M:휴대폰 본인인증, C:신용카드인증, P:공인인증서 인증 String name = mberNm; // 성명 String phoneNo = moblphonNo; // 휴대폰번호 String phoneCorp = ""; // 이동통신사 if(phoneCorp == null) phoneCorp = ""; String birthDay = birth; // 생년월일 String gender = sexdstnCode; // 성별 if(gender == null) gender = ""; String nation = nationality; // 내외국인 구분 - 0:내국인, 1:외국인 String plusInfo = id; // 추가DATA정보 String extendVar = "0000000000000000"; // 확장변수 //End-tr_cert 데이터 변수 선언 --------------------------------------------------------------- String tr_url = trUrl;//"http://www.munjaon.co.kr/web/cop/kmc/authRequestAjax.do"; // 본인인증서비스 결과수신 POPUP URL String tr_add = "N"; // IFrame사용여부 //01. 한국모바일인증(주) 암호화 모듈 선언 IcertSecuManager seed = new IcertSecuManager(); //02. 1차 암호화 (tr_cert 데이터변수 조합 후 암호화) String enc_tr_cert = ""; tr_cert = cpId +"/"+ urlCode +"/"+ certNum +"/"+ date +"/"+ certMet +"/"+ birthDay +"/"+ gender +"/"+ name +"/"+ phoneNo +"/"+ phoneCorp +"/"+ nation +"/"+ plusInfo +"/"+ extendVar; enc_tr_cert = seed.getEnc(tr_cert, ""); //03. 1차 암호화 데이터에 대한 위변조 검증값 생성 (HMAC) String hmacMsg = ""; hmacMsg = seed.getMsg(enc_tr_cert); //04. 2차 암호화 (1차 암호화 데이터, HMAC 데이터, extendVar 조합 후 암호화) tr_cert = seed.getEnc(enc_tr_cert + "/" + hmacMsg + "/" + extendVar, ""); certVO.setTr_cert(tr_cert); certVO.setTr_url(tr_url); certVO.setTr_add(tr_add); return certVO; } //마이페이지 휴대폰 변경 기능 본인인증에 사용 public AuthCertVO authCertCheckFive(String trUrl, String id) { AuthCertVO certVO = new AuthCertVO(); //kmc step 01 데이터 //날짜 생성 Calendar today = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); String day = sdf.format(today.getTime()); Random ran = new Random(); //랜덤 문자 길이 int numLength = 6; String randomStr = ""; for (int i = 0; i < numLength; i++) { //0 ~ 9 랜덤 숫자 생성 randomStr += ran.nextInt(10); } //reqNum은 최대 40byte 까지 사용 가능 String reqNum = day + randomStr; //요청번호 String tr_cert = ""; String cpId = "MJOM1001"; // 회원사ID String urlCode = "001009"; // URL코드 //kmc 본인인증 실/개발 서버 구분 if(trUrl.contains("119.193.215.98") || trUrl.contains("localhost")) { urlCode = "005005"; } String certNum = reqNum; // 요청번호 ( 본인인증 요청시 중복되지 않게 생성해야함. (예-시퀀스번호) ) String date = day; // 요청일시 String certMet = "M"; // 본인인증방법 - M:휴대폰 본인인증, C:신용카드인증, P:공인인증서 인증 String name = ""; // 성명 String phoneNo = ""; // 휴대폰번호 String phoneCorp = ""; // 이동통신사 if(phoneCorp == null) phoneCorp = ""; String birthDay = ""; // 생년월일 String gender = ""; // 성별 if(gender == null) gender = ""; String nation = ""; // 내외국인 구분 - 0:내국인, 1:외국인 String plusInfo = id; // 추가DATA정보 String extendVar = "0000000000000000"; // 확장변수 //End-tr_cert 데이터 변수 선언 --------------------------------------------------------------- String tr_url = trUrl;//"http://www.munjaon.co.kr/web/cop/kmc/authRequestAjax.do"; // 본인인증서비스 결과수신 POPUP URL String tr_add = "N"; // IFrame사용여부 //01. 한국모바일인증(주) 암호화 모듈 선언 IcertSecuManager seed = new IcertSecuManager(); //02. 1차 암호화 (tr_cert 데이터변수 조합 후 암호화) String enc_tr_cert = ""; tr_cert = cpId +"/"+ urlCode +"/"+ certNum +"/"+ date +"/"+ certMet +"/"+ birthDay +"/"+ gender +"/"+ name +"/"+ phoneNo +"/"+ phoneCorp +"/"+ nation +"/"+ plusInfo +"/"+ extendVar; enc_tr_cert = seed.getEnc(tr_cert, ""); //03. 1차 암호화 데이터에 대한 위변조 검증값 생성 (HMAC) String hmacMsg = ""; hmacMsg = seed.getMsg(enc_tr_cert); //04. 2차 암호화 (1차 암호화 데이터, HMAC 데이터, extendVar 조합 후 암호화) tr_cert = seed.getEnc(enc_tr_cert + "/" + hmacMsg + "/" + extendVar, ""); certVO.setTr_cert(tr_cert); certVO.setTr_url(tr_url); certVO.setTr_add(tr_add); return certVO; } // 마이페이지 발신번호 관리 > 발신번호 등록 시 사용 public AuthCertVO authCertCheckSix(String trUrl, String id, String moblphonNo, String mberNm, String myNameFlag) { AuthCertVO certVO = new AuthCertVO(); //kmc step 01 데이터 //날짜 생성 Calendar today = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); String day = sdf.format(today.getTime()); Random ran = new Random(); //랜덤 문자 길이 int numLength = 6; String randomStr = ""; for (int i = 0; i < numLength; i++) { //0 ~ 9 랜덤 숫자 생성 randomStr += ran.nextInt(10); } //reqNum은 최대 40byte 까지 사용 가능 String reqNum = day + randomStr; //요청번호 String tr_cert = ""; String cpId = "MJOM1001"; // 회원사ID String urlCode = "001007"; // URL코드 //kmc 본인인증 실/개발 서버 구분 if(trUrl.contains("119.193.215.98") || trUrl.contains("localhost")) { urlCode = "006005"; } String certNum = reqNum; // 요청번호 ( 본인인증 요청시 중복되지 않게 생성해야함. (예-시퀀스번호) ) String date = day; // 요청일시 String certMet = "M"; // 본인인증방법 - M:휴대폰 본인인증, C:신용카드인증, P:공인인증서 인증 String name = mberNm; // 성명 String phoneNo = moblphonNo; // 휴대폰번호 String phoneCorp = ""; // 이동통신사 if(phoneCorp == null) phoneCorp = ""; String birthDay = ""; // 생년월일 String gender = ""; // 성별 if(gender == null) gender = ""; String nation = ""; // 내외국인 구분 - 0:내국인, 1:외국인 String plusInfo = id + "§" + myNameFlag; // 추가DATA정보 String extendVar = "0000000000000000"; // 확장변수 //End-tr_cert 데이터 변수 선언 --------------------------------------------------------------- String tr_url = trUrl;//"http://www.munjaon.co.kr/web/cop/kmc/authRequestAjax.do"; // 본인인증서비스 결과수신 POPUP URL String tr_add = "N"; // IFrame사용여부 //01. 한국모바일인증(주) 암호화 모듈 선언 IcertSecuManager seed = new IcertSecuManager(); //02. 1차 암호화 (tr_cert 데이터변수 조합 후 암호화) String enc_tr_cert = ""; tr_cert = cpId +"/"+ urlCode +"/"+ certNum +"/"+ date +"/"+ certMet +"/"+ birthDay +"/"+ gender +"/"+ name +"/"+ phoneNo +"/"+ phoneCorp +"/"+ nation +"/"+ plusInfo +"/"+ extendVar; enc_tr_cert = seed.getEnc(tr_cert, ""); //03. 1차 암호화 데이터에 대한 위변조 검증값 생성 (HMAC) String hmacMsg = ""; hmacMsg = seed.getMsg(enc_tr_cert); //04. 2차 암호화 (1차 암호화 데이터, HMAC 데이터, extendVar 조합 후 암호화) tr_cert = seed.getEnc(enc_tr_cert + "/" + hmacMsg + "/" + extendVar, ""); certVO.setTr_cert(tr_cert); certVO.setTr_url(tr_url); certVO.setTr_add(tr_add); return certVO; } //마이패이지 회원탈퇴 > 본인인증으로 회원탈퇴에 사용 public AuthCertVO authCertCheckSeven(String trUrl, String mberNm) { AuthCertVO certVO = new AuthCertVO(); //kmc step 01 데이터 //날짜 생성 Calendar today = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); String day = sdf.format(today.getTime()); Random ran = new Random(); //랜덤 문자 길이 int numLength = 6; String randomStr = ""; for (int i = 0; i < numLength; i++) { //0 ~ 9 랜덤 숫자 생성 randomStr += ran.nextInt(10); } //reqNum은 최대 40byte 까지 사용 가능 String reqNum = day + randomStr; //요청번호 String tr_cert = ""; String cpId = "MJOM1001"; // 회원사ID String urlCode = "001010"; // URL코드 //kmc 본인인증 실/개발 서버 구분 if(trUrl.contains("119.193.215.98") || trUrl.contains("localhost")) { urlCode = "005006"; } String certNum = reqNum; // 요청번호 ( 본인인증 요청시 중복되지 않게 생성해야함. (예-시퀀스번호) ) String date = day; // 요청일시 String certMet = "M"; // 본인인증방법 - M:휴대폰 본인인증, C:신용카드인증, P:공인인증서 인증 String name = mberNm; // 성명 String phoneNo = ""; // 휴대폰번호 String phoneCorp = ""; // 이동통신사 if(phoneCorp == null) phoneCorp = ""; String birthDay = ""; // 생년월일 String gender = ""; // 성별 if(gender == null) gender = ""; String nation = ""; // 내외국인 구분 - 0:내국인, 1:외국인 String plusInfo = ""; // 추가DATA정보 String extendVar = "0000000000000000"; // 확장변수 //End-tr_cert 데이터 변수 선언 --------------------------------------------------------------- String tr_url = trUrl;//"http://www.munjaon.co.kr/web/cop/kmc/authRequestAjax.do"; // 본인인증서비스 결과수신 POPUP URL String tr_add = "N"; // IFrame사용여부 //01. 한국모바일인증(주) 암호화 모듈 선언 IcertSecuManager seed = new IcertSecuManager(); //02. 1차 암호화 (tr_cert 데이터변수 조합 후 암호화) String enc_tr_cert = ""; tr_cert = cpId +"/"+ urlCode +"/"+ certNum +"/"+ date +"/"+ certMet +"/"+ birthDay +"/"+ gender +"/"+ name +"/"+ phoneNo +"/"+ phoneCorp +"/"+ nation +"/"+ plusInfo +"/"+ extendVar; enc_tr_cert = seed.getEnc(tr_cert, ""); //03. 1차 암호화 데이터에 대한 위변조 검증값 생성 (HMAC) String hmacMsg = ""; hmacMsg = seed.getMsg(enc_tr_cert); //04. 2차 암호화 (1차 암호화 데이터, HMAC 데이터, extendVar 조합 후 암호화) tr_cert = seed.getEnc(enc_tr_cert + "/" + hmacMsg + "/" + extendVar, ""); certVO.setTr_cert(tr_cert); certVO.setTr_url(tr_url); certVO.setTr_add(tr_add); return certVO; } //아이디 패스워드 찾기 본인인증 public AuthCertVO authCertCheckEight(String trUrl, String idParam) { AuthCertVO certVO = new AuthCertVO(); //kmc step 01 데이터 //날짜 생성 Calendar today = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); String day = sdf.format(today.getTime()); Random ran = new Random(); //랜덤 문자 길이 int numLength = 6; String randomStr = ""; for (int i = 0; i < numLength; i++) { //0 ~ 9 랜덤 숫자 생성 randomStr += ran.nextInt(10); } //reqNum은 최대 40byte 까지 사용 가능 String reqNum = day + randomStr; //요청번호 String tr_cert = ""; String cpId = "MJOM1001"; // 회원사ID String urlCode = "001012"; // URL코드 //kmc 본인인증 실/개발 서버 구분 if(trUrl.contains("119.193.215.98") || trUrl.contains("localhost")) { urlCode = "005008"; } String certNum = reqNum; // 요청번호 ( 본인인증 요청시 중복되지 않게 생성해야함. (예-시퀀스번호) ) String date = day; // 요청일시 String certMet = "M"; // 본인인증방법 - M:휴대폰 본인인증, C:신용카드인증, P:공인인증서 인증 String name = ""; // 성명 String phoneNo = ""; // 휴대폰번호 String phoneCorp = ""; // 이동통신사 if(phoneCorp == null) phoneCorp = ""; String birthDay = ""; // 생년월일 String gender = ""; // 성별 if(gender == null) gender = ""; String nation = "0"; // 내외국인 구분 - 0:내국인, 1:외국인 String plusInfo = idParam; // 추가DATA정보 String extendVar = "0000000000000000"; // 확장변수 //End-tr_cert 데이터 변수 선언 --------------------------------------------------------------- String tr_url = trUrl;//"http://www.munjaon.co.kr/web/cop/kmc/authRequestAjax.do"; // 본인인증서비스 결과수신 POPUP URL String tr_add = "N"; // IFrame사용여부 //01. 한국모바일인증(주) 암호화 모듈 선언 IcertSecuManager seed = new IcertSecuManager(); //02. 1차 암호화 (tr_cert 데이터변수 조합 후 암호화) String enc_tr_cert = ""; tr_cert = cpId +"/"+ urlCode +"/"+ certNum +"/"+ date +"/"+ certMet +"/"+ birthDay +"/"+ gender +"/"+ name +"/"+ phoneNo +"/"+ phoneCorp +"/"+ nation +"/"+ plusInfo +"/"+ extendVar; enc_tr_cert = seed.getEnc(tr_cert, ""); //03. 1차 암호화 데이터에 대한 위변조 검증값 생성 (HMAC) String hmacMsg = ""; hmacMsg = seed.getMsg(enc_tr_cert); //04. 2차 암호화 (1차 암호화 데이터, HMAC 데이터, extendVar 조합 후 암호화) tr_cert = seed.getEnc(enc_tr_cert + "/" + hmacMsg + "/" + extendVar, ""); certVO.setTr_cert(tr_cert); certVO.setTr_url(tr_url); certVO.setTr_add(tr_add); return certVO; } }