parent
b63aad38d2
commit
3dc2bb67d9
3
.gitignore
vendored
3
.gitignore
vendored
@ -202,3 +202,6 @@ rebel.xml
|
|||||||
/mvnw
|
/mvnw
|
||||||
/mvnw.cmd
|
/mvnw.cmd
|
||||||
/.gemini.zip
|
/.gemini.zip
|
||||||
|
|
||||||
|
### MAC OS ###
|
||||||
|
.DS_Store
|
||||||
@ -74,7 +74,7 @@ public class AddrGroupController {
|
|||||||
private EgovMberManageService mberManageService;
|
private EgovMberManageService mberManageService;
|
||||||
|
|
||||||
@Resource(name = "KmcCertChecker")
|
@Resource(name = "KmcCertChecker")
|
||||||
private KmcCertChecker kmcCertCheck;
|
private KmcCertChecker kmcCertChecker;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 주소록 그룹 리스트
|
* 주소록 그룹 리스트
|
||||||
@ -954,7 +954,7 @@ public class AddrGroupController {
|
|||||||
mberCertPhoneVO.setTrUrl("/web/cop/kmc/authRequestAddrSubmitAjax.do");
|
mberCertPhoneVO.setTrUrl("/web/cop/kmc/authRequestAddrSubmitAjax.do");
|
||||||
mberCertPhoneVO.setPlusInfo(mberManageVO.getMberId());
|
mberCertPhoneVO.setPlusInfo(mberManageVO.getMberId());
|
||||||
|
|
||||||
AuthCertVO certVO = kmcCertCheck.authCertCheck(mberCertPhoneVO, request);
|
AuthCertVO certVO = kmcCertChecker.authCertCheck(mberCertPhoneVO, request);
|
||||||
|
|
||||||
modelAndView.addObject("tr_cert", certVO.getTr_cert());
|
modelAndView.addObject("tr_cert", certVO.getTr_cert());
|
||||||
modelAndView.addObject("tr_url", certVO.getTr_url());
|
modelAndView.addObject("tr_url", certVO.getTr_url());
|
||||||
@ -979,241 +979,16 @@ public class AddrGroupController {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
@RequestMapping("/web/cop/kmc/authRequestAddrSubmitAjax.do")
|
@RequestMapping("/web/cop/kmc/authRequestAddrSubmitAjax.do")
|
||||||
public String authRequestFindIdPwAjax(HttpServletRequest request, ModelMap model,
|
public String authRequestFindIdPwAjax(
|
||||||
@RequestParam Map<String, Object> commandMap, @ModelAttribute("searchVO") KmcVO kmcVO,
|
HttpServletRequest request
|
||||||
RedirectAttributes redirectAttributes) throws Exception {
|
, HttpServletResponse response
|
||||||
|
, ModelMap model
|
||||||
|
, @RequestParam Map<String, Object> commandMap
|
||||||
|
, @ModelAttribute("searchVO") KmcVO kmcVO
|
||||||
|
, RedirectAttributes redirectAttributes
|
||||||
|
) throws Exception {
|
||||||
|
|
||||||
String errMessage = ""; // 에러메세지
|
kmcVO = kmcCertChecker.authCertResult(request, response, model);
|
||||||
|
|
||||||
String rec_cert = ""; // 결과값(암호화)
|
|
||||||
String certNum = ""; // certNum
|
|
||||||
|
|
||||||
rec_cert = request.getParameter("rec_cert").trim();
|
|
||||||
certNum = request.getParameter("certNum").trim();
|
|
||||||
|
|
||||||
kmcVO.setRecCert(rec_cert);
|
|
||||||
kmcVO.setCertNum(certNum);
|
|
||||||
// 파라미터 유효성 검증
|
|
||||||
if (rec_cert.length() == 0 || certNum.length() == 0) {
|
|
||||||
errMessage = "비정상";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 변수선언
|
|
||||||
// --------------------------------------------------------------------------------------------------------
|
|
||||||
String k_certNum = ""; // 파라미터로 수신한 요청번호
|
|
||||||
k_certNum = certNum;
|
|
||||||
String date = ""; // 요청일시
|
|
||||||
String CI = ""; // 연계정보(CI)
|
|
||||||
String DI = ""; // 중복가입확인정보(DI)
|
|
||||||
String phoneNo = ""; // 휴대폰번호
|
|
||||||
String phoneCorp = ""; // 이동통신사
|
|
||||||
String birthDay = ""; // 생년월일
|
|
||||||
String gender = ""; // 성별
|
|
||||||
String nation = ""; // 내국인
|
|
||||||
String name = ""; // 성명
|
|
||||||
String M_name = ""; // 미성년자 성명
|
|
||||||
String M_birthDay = ""; // 미성년자 생년월일
|
|
||||||
String M_Gender = ""; // 미성년자 성별
|
|
||||||
String M_nation = ""; // 미성년자 내외국인
|
|
||||||
String result = ""; // 결과값
|
|
||||||
|
|
||||||
String certMet = ""; // 인증방법
|
|
||||||
String ip = ""; // ip주소
|
|
||||||
String plusInfo = "";
|
|
||||||
|
|
||||||
String encPara = "";
|
|
||||||
String encMsg1 = "";
|
|
||||||
String encMsg2 = "";
|
|
||||||
String msgChk = "";
|
|
||||||
|
|
||||||
com.icert.comm.secu.IcertSecuManager seed = new com.icert.comm.secu.IcertSecuManager();
|
|
||||||
|
|
||||||
// 02. 1차 복호화
|
|
||||||
// 수신된 certNum를 이용하여 복호화
|
|
||||||
rec_cert = seed.getDec(rec_cert, k_certNum);
|
|
||||||
|
|
||||||
// 03. 1차 파싱
|
|
||||||
int inf1 = rec_cert.indexOf("/", 0);
|
|
||||||
int inf2 = rec_cert.indexOf("/", inf1 + 1);
|
|
||||||
|
|
||||||
encPara = rec_cert.substring(0, inf1); // 암호화된 통합 파라미터
|
|
||||||
encMsg1 = rec_cert.substring(inf1 + 1, inf2); // 암호화된 통합 파라미터의 Hash값
|
|
||||||
|
|
||||||
// 04. 위변조 검증
|
|
||||||
encMsg2 = seed.getMsg(encPara);
|
|
||||||
kmcVO.setEncMsg2(encMsg2);
|
|
||||||
if (encMsg2.equals(encMsg1)) {
|
|
||||||
msgChk = "Y";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!"Y".equals(msgChk)) {
|
|
||||||
errMessage = "비정상접근입니다.";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 05. 2차 복호화
|
|
||||||
rec_cert = seed.getDec(encPara, k_certNum);
|
|
||||||
kmcVO.setRecCert(rec_cert);
|
|
||||||
// 06. 2차 파싱
|
|
||||||
int info1 = rec_cert.indexOf("/", 0);
|
|
||||||
int info2 = rec_cert.indexOf("/", info1 + 1);
|
|
||||||
int info3 = rec_cert.indexOf("/", info2 + 1);
|
|
||||||
int info4 = rec_cert.indexOf("/", info3 + 1);
|
|
||||||
int info5 = rec_cert.indexOf("/", info4 + 1);
|
|
||||||
int info6 = rec_cert.indexOf("/", info5 + 1);
|
|
||||||
int info7 = rec_cert.indexOf("/", info6 + 1);
|
|
||||||
int info8 = rec_cert.indexOf("/", info7 + 1);
|
|
||||||
int info9 = rec_cert.indexOf("/", info8 + 1);
|
|
||||||
int info10 = rec_cert.indexOf("/", info9 + 1);
|
|
||||||
int info11 = rec_cert.indexOf("/", info10 + 1);
|
|
||||||
int info12 = rec_cert.indexOf("/", info11 + 1);
|
|
||||||
int info13 = rec_cert.indexOf("/", info12 + 1);
|
|
||||||
int info14 = rec_cert.indexOf("/", info13 + 1);
|
|
||||||
int info15 = rec_cert.indexOf("/", info14 + 1);
|
|
||||||
int info16 = rec_cert.indexOf("/", info15 + 1);
|
|
||||||
int info17 = rec_cert.indexOf("/", info16 + 1);
|
|
||||||
int info18 = rec_cert.indexOf("/", info17 + 1);
|
|
||||||
|
|
||||||
certNum = rec_cert.substring(0, info1);
|
|
||||||
kmcVO.setCertNum(certNum);
|
|
||||||
date = rec_cert.substring(info1 + 1, info2);
|
|
||||||
kmcVO.setDate(date);
|
|
||||||
CI = rec_cert.substring(info2 + 1, info3);
|
|
||||||
kmcVO.setCI(CI);
|
|
||||||
phoneNo = rec_cert.substring(info3 + 1, info4);
|
|
||||||
kmcVO.setPhoneNo(phoneNo);
|
|
||||||
phoneCorp = rec_cert.substring(info4 + 1, info5);
|
|
||||||
kmcVO.setPhoneCorp(phoneCorp);
|
|
||||||
birthDay = rec_cert.substring(info5 + 1, info6);
|
|
||||||
kmcVO.setBirthDay(birthDay);
|
|
||||||
gender = rec_cert.substring(info6 + 1, info7);
|
|
||||||
kmcVO.setGender(gender);
|
|
||||||
nation = rec_cert.substring(info7 + 1, info8);
|
|
||||||
kmcVO.setNation(nation);
|
|
||||||
name = rec_cert.substring(info8 + 1, info9);
|
|
||||||
kmcVO.setName(name);
|
|
||||||
result = rec_cert.substring(info9 + 1, info10);
|
|
||||||
kmcVO.setResult(result);
|
|
||||||
certMet = rec_cert.substring(info10 + 1, info11);
|
|
||||||
kmcVO.setCertMet(certMet);
|
|
||||||
ip = rec_cert.substring(info11 + 1, info12);
|
|
||||||
kmcVO.setIp(ip);
|
|
||||||
M_name = rec_cert.substring(info12 + 1, info13);
|
|
||||||
kmcVO.setMName(M_name);
|
|
||||||
M_birthDay = rec_cert.substring(info13 + 1, info14);
|
|
||||||
kmcVO.setMBirthDay(M_birthDay);
|
|
||||||
M_Gender = rec_cert.substring(info14 + 1, info15);
|
|
||||||
kmcVO.setMGender(M_Gender);
|
|
||||||
M_nation = rec_cert.substring(info15 + 1, info16);
|
|
||||||
kmcVO.setMNation(M_nation);
|
|
||||||
plusInfo = rec_cert.substring(info16 + 1, info17);
|
|
||||||
kmcVO.setPlusInfo(plusInfo);
|
|
||||||
DI = rec_cert.substring(info17 + 1, info18);
|
|
||||||
kmcVO.setDI(DI);
|
|
||||||
|
|
||||||
// 07. CI, DI 복호화
|
|
||||||
CI = seed.getDec(CI, k_certNum);
|
|
||||||
kmcVO.setCI(CI);
|
|
||||||
DI = seed.getDec(DI, k_certNum);
|
|
||||||
kmcVO.setDI(DI);
|
|
||||||
|
|
||||||
if ("Y".equals(result)) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// --------------------------------------------------------------
|
|
||||||
String regex = "";
|
|
||||||
if (certNum.length() == 0 || certNum.length() > 40) {
|
|
||||||
errMessage = "요청번호 비정상.";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if (date.length() != 14 || !paramChk(regex, date)) {
|
|
||||||
errMessage = "요청일시";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[A-Z]*";
|
|
||||||
if (certMet.length() != 1 || !paramChk(regex, certMet)) {
|
|
||||||
errMessage = "본인인증방법 비정상" + certMet;
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if ((phoneNo.length() != 10 && phoneNo.length() != 11) || !paramChk(regex, phoneNo)) {
|
|
||||||
errMessage = "휴대폰번호 비정상";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[A-Z]*";
|
|
||||||
if (phoneCorp.length() != 3 || !paramChk(regex, phoneCorp)) {
|
|
||||||
errMessage = "이동통신사 비정상";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if (birthDay.length() != 8 || !paramChk(regex, birthDay)) {
|
|
||||||
errMessage = "생년월일 비정상";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if (gender.length() != 1 || !paramChk(regex, gender)) {
|
|
||||||
errMessage = "성별 비정상";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if (nation.length() != 1 || !paramChk(regex, nation)) {
|
|
||||||
errMessage = "내/외국인 비정상";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[\\sA-Za-z가-<2D>R.,-]*";
|
|
||||||
if (name.length() > 60 || !paramChk(regex, name)) {
|
|
||||||
errMessage = "성명 비정상";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[A-Z]*";
|
|
||||||
if (result.length() != 1 || !paramChk(regex, result)) {
|
|
||||||
errMessage = "결과값 비정상";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[\\sA-Za-z가-?.,-]*";
|
|
||||||
if (M_name.length() != 0) {
|
|
||||||
if (M_name.length() > 60 || !paramChk(regex, M_name)) {
|
|
||||||
errMessage = "미성년자 성명 비정상";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if (M_birthDay.length() != 0) {
|
|
||||||
if (M_birthDay.length() != 8 || !paramChk(regex, M_birthDay)) {
|
|
||||||
errMessage = "미성년자 생년월일 비정상";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if (M_Gender.length() != 0) {
|
|
||||||
if (M_Gender.length() != 1 || !paramChk(regex, M_Gender)) {
|
|
||||||
errMessage = "미성년자 성별 비정상";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if (M_nation.length() != 0) {
|
|
||||||
if (M_nation.length() != 1 || !paramChk(regex, M_nation)) {
|
|
||||||
errMessage = "미성년자 내/외국인 비정상";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// KMC 본인인증 로그
|
// KMC 본인인증 로그
|
||||||
AuthCertVO certVO = new AuthCertVO();
|
AuthCertVO certVO = new AuthCertVO();
|
||||||
|
|||||||
@ -18,10 +18,10 @@ public class KmcVO extends ComDefaultVO{
|
|||||||
private String gender = ""; // 성별
|
private String gender = ""; // 성별
|
||||||
private String nation = ""; // 내국인
|
private String nation = ""; // 내국인
|
||||||
private String name = ""; // 성명
|
private String name = ""; // 성명
|
||||||
private String MName = ""; // 미성년자 성명
|
// private String MName = ""; // 미성년자 성명
|
||||||
private String MBirthDay = ""; // 미성년자 생년월일
|
// private String MBirthDay = ""; // 미성년자 생년월일
|
||||||
private String MGender = ""; // 미성년자 성별
|
// private String MGender = ""; // 미성년자 성별
|
||||||
private String MNation = ""; // 미성년자 내외국인
|
// private String MNation = ""; // 미성년자 내외국인
|
||||||
private String result = ""; // 결과값
|
private String result = ""; // 결과값
|
||||||
|
|
||||||
private String certMet = ""; // 인증방법
|
private String certMet = ""; // 인증방법
|
||||||
@ -41,6 +41,11 @@ public class KmcVO extends ComDefaultVO{
|
|||||||
private String idx = ""; //본인인증 로그 idx
|
private String idx = ""; //본인인증 로그 idx
|
||||||
private String dnChk = ""; //본인명의 DN 체크
|
private String dnChk = ""; //본인명의 DN 체크
|
||||||
|
|
||||||
|
private String reserve1 = "";
|
||||||
|
private String reserve2 = "";
|
||||||
|
private String reserve3 = "";
|
||||||
|
private String reserve4 = "";
|
||||||
|
|
||||||
public String getUserId() {
|
public String getUserId() {
|
||||||
return userId;
|
return userId;
|
||||||
}
|
}
|
||||||
@ -177,30 +182,6 @@ public class KmcVO extends ComDefaultVO{
|
|||||||
public void setCertNum(String certNum) {
|
public void setCertNum(String certNum) {
|
||||||
this.certNum = certNum;
|
this.certNum = certNum;
|
||||||
}
|
}
|
||||||
public String getMName() {
|
|
||||||
return MName;
|
|
||||||
}
|
|
||||||
public void setMName(String mName) {
|
|
||||||
MName = mName;
|
|
||||||
}
|
|
||||||
public String getMBirthDay() {
|
|
||||||
return MBirthDay;
|
|
||||||
}
|
|
||||||
public void setMBirthDay(String mBirthDay) {
|
|
||||||
MBirthDay = mBirthDay;
|
|
||||||
}
|
|
||||||
public String getMGender() {
|
|
||||||
return MGender;
|
|
||||||
}
|
|
||||||
public void setMGender(String mGender) {
|
|
||||||
MGender = mGender;
|
|
||||||
}
|
|
||||||
public String getMNation() {
|
|
||||||
return MNation;
|
|
||||||
}
|
|
||||||
public void setMNation(String mNation) {
|
|
||||||
MNation = mNation;
|
|
||||||
}
|
|
||||||
public String getRecCert() {
|
public String getRecCert() {
|
||||||
return recCert;
|
return recCert;
|
||||||
}
|
}
|
||||||
@ -225,5 +206,30 @@ public class KmcVO extends ComDefaultVO{
|
|||||||
public void setCertType(String certType) {
|
public void setCertType(String certType) {
|
||||||
this.certType = certType;
|
this.certType = certType;
|
||||||
}
|
}
|
||||||
|
public String getReserve1() {
|
||||||
|
return reserve1;
|
||||||
|
}
|
||||||
|
public void setReserve1(String reserve1) {
|
||||||
|
this.reserve1 = reserve1;
|
||||||
|
}
|
||||||
|
public String getReserve2() {
|
||||||
|
return reserve2;
|
||||||
|
}
|
||||||
|
public void setReserve2(String reserve2) {
|
||||||
|
this.reserve2 = reserve2;
|
||||||
|
}
|
||||||
|
public String getReserve3() {
|
||||||
|
return reserve3;
|
||||||
|
}
|
||||||
|
public void setReserve3(String reserve3) {
|
||||||
|
this.reserve3 = reserve3;
|
||||||
|
}
|
||||||
|
public String getReserve4() {
|
||||||
|
return reserve4;
|
||||||
|
}
|
||||||
|
public void setReserve4(String reserve4) {
|
||||||
|
this.reserve4 = reserve4;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -945,24 +945,10 @@ public class MjonPayController {
|
|||||||
ModelMap model , @RequestParam Map<String, Object> commandMap,
|
ModelMap model , @RequestParam Map<String, Object> commandMap,
|
||||||
@ModelAttribute("searchVO") KmcVO kmcVO) throws Exception {
|
@ModelAttribute("searchVO") KmcVO kmcVO) throws Exception {
|
||||||
|
|
||||||
|
//kmc 본인인증 결과처리
|
||||||
kmcVO = kmcCertChecker.authCertResult(request, response, model);
|
kmcVO = kmcCertChecker.authCertResult(request, response, model);
|
||||||
//KMC 본인인증 로그 insert
|
//kmc 본인인증 로그 처리
|
||||||
AuthCertVO certVO = new AuthCertVO();
|
AuthCertVO certVO = kmcCertChecker.insertCertLog(kmcVO, "KMC_회원가입 인증");
|
||||||
certVO.setMberId(kmcVO.getPlusInfo());
|
|
||||||
certVO.setCertNum(kmcVO.getCertNum());
|
|
||||||
certVO.setCertDate(kmcVO.getDate());
|
|
||||||
certVO.setCertDi(kmcVO.getDI());
|
|
||||||
certVO.setCertPhone(kmcVO.getPhoneNo());
|
|
||||||
certVO.setCertNation(kmcVO.getNation());
|
|
||||||
certVO.setCertName(kmcVO.getName());
|
|
||||||
certVO.setCertResult(kmcVO.getResult());
|
|
||||||
certVO.setCertType("KMC_회원가입 인증");
|
|
||||||
certVO.setCertIpaddr(kmcVO.getIp());
|
|
||||||
certVO.setBirthDay(kmcVO.getBirthDay());
|
|
||||||
certVO.setSexdstnCode(kmcVO.getGender());
|
|
||||||
|
|
||||||
//디비 테이블에 저장하기
|
|
||||||
mberManageService.insertCertInfoLog(certVO);
|
|
||||||
|
|
||||||
kmcVO.setIdx(certVO.getIdx()); //본인인증 로그 Idx - 로그 insert 후 idx selectKey
|
kmcVO.setIdx(certVO.getIdx()); //본인인증 로그 Idx - 로그 insert 후 idx selectKey
|
||||||
model.addAttribute("kmcVO", kmcVO);
|
model.addAttribute("kmcVO", kmcVO);
|
||||||
@ -5937,297 +5923,5 @@ public class MjonPayController {
|
|||||||
return p_response;
|
return p_response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 회원가입 본인인증
|
|
||||||
*
|
|
||||||
* @param
|
|
||||||
* @return
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
|
||||||
@RequestMapping("/web/cop/kmc/authRequestAjax_back.do")
|
|
||||||
public String authRequestAjax_back(HttpServletRequest request, HttpSession session, HttpServletResponse response,
|
|
||||||
ModelMap model , @RequestParam Map<String, Object> commandMap,
|
|
||||||
@ModelAttribute("searchVO") KmcVO kmcVO) throws Exception {
|
|
||||||
|
|
||||||
//크롬 SameSite정책 방지 - 도메인이 다른 타사로 이동 시 크롬 정책에 의해 세션 유실이 일어나는 경우가 있는데, 이를 방지하기 위해 samesite 보안을 none처리
|
|
||||||
response.setHeader("Set-Cookie", "mberSession=mberSession; Secure; SameSite=None");
|
|
||||||
|
|
||||||
System.out.println("++++++++++++ 세션체크 ::: "+ session.getAttribute("mberSession"));
|
|
||||||
|
|
||||||
String errMessage = ""; //에러메세지
|
|
||||||
|
|
||||||
String rec_cert = ""; // 결과값(암호화)
|
|
||||||
String certNum = ""; // certNum
|
|
||||||
|
|
||||||
rec_cert = request.getParameter("rec_cert").trim();
|
|
||||||
certNum = request.getParameter("certNum").trim();
|
|
||||||
|
|
||||||
kmcVO.setRecCert(rec_cert);
|
|
||||||
kmcVO.setCertNum(certNum);
|
|
||||||
// 파라미터 유효성 검증
|
|
||||||
if( rec_cert.length() == 0 || certNum.length() == 0 ){
|
|
||||||
errMessage = "비정상";
|
|
||||||
return returnPage(model , errMessage , kmcVO) ;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// 변수선언 --------------------------------------------------------------------------------------------------------
|
|
||||||
String k_certNum = ""; // 파라미터로 수신한 요청번호
|
|
||||||
k_certNum = certNum;
|
|
||||||
String date = ""; // 요청일시
|
|
||||||
String CI = ""; // 연계정보(CI)
|
|
||||||
String DI = ""; // 중복가입확인정보(DI)
|
|
||||||
String phoneNo = ""; // 휴대폰번호
|
|
||||||
String phoneCorp = ""; // 이동통신사
|
|
||||||
String birthDay = ""; // 생년월일
|
|
||||||
String gender = ""; // 성별
|
|
||||||
String nation = ""; // 내국인
|
|
||||||
String name = ""; // 성명
|
|
||||||
String M_name = ""; // 미성년자 성명
|
|
||||||
String M_birthDay = ""; // 미성년자 생년월일
|
|
||||||
String M_Gender = ""; // 미성년자 성별
|
|
||||||
String M_nation = ""; // 미성년자 내외국인
|
|
||||||
String result = ""; // 결과값
|
|
||||||
|
|
||||||
String certMet = ""; // 인증방법
|
|
||||||
String ip = ""; // ip주소
|
|
||||||
String plusInfo = "";
|
|
||||||
|
|
||||||
String encPara = "";
|
|
||||||
String encMsg1 = "";
|
|
||||||
String encMsg2 = "";
|
|
||||||
String msgChk = "";
|
|
||||||
|
|
||||||
com.icert.comm.secu.IcertSecuManager seed = new com.icert.comm.secu.IcertSecuManager();
|
|
||||||
|
|
||||||
//02. 1차 복호화
|
|
||||||
//수신된 certNum를 이용하여 복호화
|
|
||||||
rec_cert = seed.getDec(rec_cert, k_certNum);
|
|
||||||
|
|
||||||
//03. 1차 파싱
|
|
||||||
int inf1 = rec_cert.indexOf("/",0);
|
|
||||||
int inf2 = rec_cert.indexOf("/",inf1+1);
|
|
||||||
|
|
||||||
encPara = rec_cert.substring(0,inf1); //암호화된 통합 파라미터
|
|
||||||
encMsg1 = rec_cert.substring(inf1+1,inf2); //암호화된 통합 파라미터의 Hash값
|
|
||||||
|
|
||||||
//04. 위변조 검증
|
|
||||||
encMsg2 = seed.getMsg(encPara);
|
|
||||||
kmcVO.setEncMsg2(encMsg2);
|
|
||||||
if(encMsg2.equals(encMsg1)){
|
|
||||||
msgChk="Y";
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!"Y".equals(msgChk)) {
|
|
||||||
errMessage = "비정상접근입니다.";
|
|
||||||
return returnPage(model , errMessage , kmcVO) ;
|
|
||||||
}
|
|
||||||
|
|
||||||
//05. 2차 복호화
|
|
||||||
rec_cert = seed.getDec(encPara, k_certNum);
|
|
||||||
kmcVO.setRecCert(rec_cert);
|
|
||||||
//06. 2차 파싱
|
|
||||||
int info1 = rec_cert.indexOf("/",0);
|
|
||||||
int info2 = rec_cert.indexOf("/",info1+1);
|
|
||||||
int info3 = rec_cert.indexOf("/",info2+1);
|
|
||||||
int info4 = rec_cert.indexOf("/",info3+1);
|
|
||||||
int info5 = rec_cert.indexOf("/",info4+1);
|
|
||||||
int info6 = rec_cert.indexOf("/",info5+1);
|
|
||||||
int info7 = rec_cert.indexOf("/",info6+1);
|
|
||||||
int info8 = rec_cert.indexOf("/",info7+1);
|
|
||||||
int info9 = rec_cert.indexOf("/",info8+1);
|
|
||||||
int info10 = rec_cert.indexOf("/",info9+1);
|
|
||||||
int info11 = rec_cert.indexOf("/",info10+1);
|
|
||||||
int info12 = rec_cert.indexOf("/",info11+1);
|
|
||||||
int info13 = rec_cert.indexOf("/",info12+1);
|
|
||||||
int info14 = rec_cert.indexOf("/",info13+1);
|
|
||||||
int info15 = rec_cert.indexOf("/",info14+1);
|
|
||||||
int info16 = rec_cert.indexOf("/",info15+1);
|
|
||||||
int info17 = rec_cert.indexOf("/",info16+1);
|
|
||||||
int info18 = rec_cert.indexOf("/",info17+1);
|
|
||||||
|
|
||||||
certNum = rec_cert.substring(0,info1); kmcVO.setCertNum(certNum);
|
|
||||||
date = rec_cert.substring(info1+1,info2); kmcVO.setDate(date);
|
|
||||||
CI = rec_cert.substring(info2+1,info3); kmcVO.setCI(CI);
|
|
||||||
phoneNo = rec_cert.substring(info3+1,info4); kmcVO.setPhoneNo(phoneNo);
|
|
||||||
phoneCorp = rec_cert.substring(info4+1,info5); kmcVO.setPhoneCorp(phoneCorp);
|
|
||||||
birthDay = rec_cert.substring(info5+1,info6); kmcVO.setBirthDay(birthDay);
|
|
||||||
gender = rec_cert.substring(info6+1,info7); kmcVO.setGender(gender);
|
|
||||||
nation = rec_cert.substring(info7+1,info8); kmcVO.setNation(nation);
|
|
||||||
name = rec_cert.substring(info8+1,info9); kmcVO.setName(name);
|
|
||||||
result = rec_cert.substring(info9+1,info10); kmcVO.setResult(result);
|
|
||||||
certMet = rec_cert.substring(info10+1,info11); kmcVO.setCertMet(certMet);
|
|
||||||
ip = rec_cert.substring(info11+1,info12); kmcVO.setIp(ip);
|
|
||||||
M_name = rec_cert.substring(info12+1,info13); kmcVO.setMName(M_name);
|
|
||||||
M_birthDay = rec_cert.substring(info13+1,info14); kmcVO.setMBirthDay(M_birthDay);
|
|
||||||
M_Gender = rec_cert.substring(info14+1,info15); kmcVO.setMGender(M_Gender);
|
|
||||||
M_nation = rec_cert.substring(info15+1,info16); kmcVO.setMNation(M_nation);
|
|
||||||
plusInfo = rec_cert.substring(info16+1,info17); kmcVO.setPlusInfo(plusInfo);
|
|
||||||
DI = rec_cert.substring(info17+1,info18); kmcVO.setDI(DI);
|
|
||||||
|
|
||||||
//07. CI, DI 복호화
|
|
||||||
CI = seed.getDec(CI, k_certNum); kmcVO.setCI(CI);
|
|
||||||
DI = seed.getDec(DI, k_certNum); kmcVO.setDI(DI);
|
|
||||||
|
|
||||||
if("Y".equals(result)) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//--------------------------------------------------------------
|
|
||||||
String regex = "";
|
|
||||||
if( certNum.length() == 0 || certNum.length() > 40){
|
|
||||||
errMessage = "요청번호 비정상.";
|
|
||||||
return returnPage(model , errMessage , kmcVO) ;
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if( date.length() != 14 || !paramChk(regex, date) ){
|
|
||||||
errMessage = "요청일시";
|
|
||||||
return returnPage(model , errMessage , kmcVO) ;
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[A-Z]*";
|
|
||||||
if( certMet.length() != 1 || !paramChk(regex, certMet) ){
|
|
||||||
errMessage = "본인인증방법 비정상" + certMet;
|
|
||||||
return returnPage(model , errMessage , kmcVO) ;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if( (phoneNo.length() != 10 && phoneNo.length() != 11) || !paramChk(regex, phoneNo) ){
|
|
||||||
errMessage = "휴대폰번호 비정상" ;
|
|
||||||
return returnPage(model , errMessage , kmcVO) ;
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[A-Z]*";
|
|
||||||
if( phoneCorp.length() != 3 || !paramChk(regex, phoneCorp) ){
|
|
||||||
errMessage = "이동통신사 비정상";
|
|
||||||
return returnPage(model , errMessage , kmcVO) ;
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if( birthDay.length() != 8 || !paramChk(regex, birthDay) ){
|
|
||||||
errMessage = "생년월일 비정상";
|
|
||||||
return returnPage(model , errMessage , kmcVO) ;
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if( gender.length() != 1 || !paramChk(regex, gender) ){
|
|
||||||
errMessage = "성별 비정상";
|
|
||||||
return returnPage(model , errMessage , kmcVO) ;
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if( nation.length() != 1 || !paramChk(regex, nation) ){
|
|
||||||
errMessage = "내/외국인 비정상";
|
|
||||||
return returnPage(model , errMessage , kmcVO) ;
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[\\sA-Za-z가-<2D>R.,-]*";
|
|
||||||
if( name.length() > 60 || !paramChk(regex, name) ){
|
|
||||||
errMessage = "성명 비정상";
|
|
||||||
return returnPage(model , errMessage , kmcVO) ;
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[A-Z]*";
|
|
||||||
if( result.length() != 1 || !paramChk(regex, result) ){
|
|
||||||
errMessage = "결과값 비정상";
|
|
||||||
return returnPage(model , errMessage , kmcVO) ;
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[\\sA-Za-z가-?.,-]*";
|
|
||||||
if( M_name.length() != 0 ){
|
|
||||||
if( M_name.length() > 60 || !paramChk(regex, M_name) ){
|
|
||||||
errMessage = "미성년자 성명 비정상";
|
|
||||||
return returnPage(model , errMessage , kmcVO) ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if( M_birthDay.length() != 0 ){
|
|
||||||
if( M_birthDay.length() != 8 || !paramChk(regex, M_birthDay) ){
|
|
||||||
errMessage = "미성년자 생년월일 비정상";
|
|
||||||
return returnPage(model , errMessage , kmcVO) ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if( M_Gender.length() != 0 ){
|
|
||||||
if( M_Gender.length() != 1 || !paramChk(regex, M_Gender) ){
|
|
||||||
errMessage = "미성년자 성별 비정상";
|
|
||||||
return returnPage(model , errMessage , kmcVO) ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if( M_nation.length() != 0 ){
|
|
||||||
if( M_nation.length() != 1 || !paramChk(regex, M_nation) ){
|
|
||||||
errMessage = "미성년자 내/외국인 비정상";
|
|
||||||
return returnPage(model , errMessage , kmcVO) ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//본인인증 결과 내용 저장하기.
|
|
||||||
/*System.out.println("+++++++++++++ getCertNum ::: "+kmcVO.getCertNum());
|
|
||||||
System.out.println("+++++++++++++ getDate ::: "+kmcVO.getDate());
|
|
||||||
System.out.println("+++++++++++++ getDI ::: "+kmcVO.getDI());
|
|
||||||
System.out.println("+++++++++++++ getPhoneNo ::: "+kmcVO.getPhoneNo());
|
|
||||||
System.out.println("+++++++++++++ getNation ::: "+kmcVO.getNation());
|
|
||||||
System.out.println("+++++++++++++ getName ::: "+kmcVO.getName());
|
|
||||||
System.out.println("+++++++++++++ getResult ::: "+kmcVO.getResult());
|
|
||||||
System.out.println("+++++++++++++ getCertMet ::: "+kmcVO.getCertMet());
|
|
||||||
System.out.println("+++++++++++++ getIp ::: "+kmcVO.getIp());*/
|
|
||||||
|
|
||||||
//KMC 본인인증 정보를 세션에 담아준다.
|
|
||||||
/*AuthCertVO certVO = new AuthCertVO();
|
|
||||||
certVO.setCertNum(kmcVO.getCertNum());
|
|
||||||
certVO.setCertDate(kmcVO.getDate());
|
|
||||||
certVO.setCertDi(kmcVO.getDI());
|
|
||||||
certVO.setCertPhone(kmcVO.getPhoneNo());
|
|
||||||
certVO.setCertNation(kmcVO.getNation());
|
|
||||||
certVO.setCertName(kmcVO.getName());
|
|
||||||
certVO.setCertResult(kmcVO.getResult());
|
|
||||||
certVO.setCertType("KMC문자인증");
|
|
||||||
certVO.setCertIpaddr(kmcVO.getIp());
|
|
||||||
certVO.setBirthDay(kmcVO.getBirthDay());
|
|
||||||
certVO.setSexdstnCode(kmcVO.getGender());*/
|
|
||||||
|
|
||||||
/*request.getSession().setAttribute("AuthKmcCertVO", certVO);*/
|
|
||||||
|
|
||||||
/*System.out.println("++++++++++++ 세션체크22 ::: "+(MberManageVO) session.getAttribute("mberSession"));*/
|
|
||||||
|
|
||||||
//KMC 본인인증 로그 insert
|
|
||||||
AuthCertVO certVO = new AuthCertVO();
|
|
||||||
certVO.setMberId(kmcVO.getPlusInfo());
|
|
||||||
certVO.setCertNum(kmcVO.getCertNum());
|
|
||||||
certVO.setCertDate(kmcVO.getDate());
|
|
||||||
certVO.setCertDi(kmcVO.getDI());
|
|
||||||
certVO.setCertPhone(kmcVO.getPhoneNo());
|
|
||||||
certVO.setCertNation(kmcVO.getNation());
|
|
||||||
certVO.setCertName(kmcVO.getName());
|
|
||||||
certVO.setCertResult(kmcVO.getResult());
|
|
||||||
certVO.setCertType("KMC_회원가입 인증");
|
|
||||||
certVO.setCertIpaddr(kmcVO.getIp());
|
|
||||||
certVO.setBirthDay(kmcVO.getBirthDay());
|
|
||||||
certVO.setSexdstnCode(kmcVO.getGender());
|
|
||||||
|
|
||||||
//디비 테이블에 저장하기
|
|
||||||
mberManageService.insertCertInfoLog(certVO);
|
|
||||||
|
|
||||||
kmcVO.setIdx(certVO.getIdx()); //본인인증 로그 Idx - 로그 insert 후 idx selectKey
|
|
||||||
model.addAttribute("kmcVO", kmcVO);
|
|
||||||
return "web/cop/kmc/authRequestAjax";
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -121,5 +121,4 @@ public interface EgovLoginService {
|
|||||||
//비밀번호 실패 횟수 조회
|
//비밀번호 실패 횟수 조회
|
||||||
public LoginVO selectPassMiss(LoginVO vo) throws Exception;
|
public LoginVO selectPassMiss(LoginVO vo) throws Exception;
|
||||||
|
|
||||||
public KmcVO kmcDecryption(HttpServletRequest request, KmcVO kmcVO);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,6 +17,7 @@ import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
|||||||
import egovframework.rte.psl.dataaccess.util.EgovMap;
|
import egovframework.rte.psl.dataaccess.util.EgovMap;
|
||||||
import itn.com.cmm.LoginVO;
|
import itn.com.cmm.LoginVO;
|
||||||
import itn.let.mjo.pay.service.KmcVO;
|
import itn.let.mjo.pay.service.KmcVO;
|
||||||
|
import itn.let.uat.uia.service.AuthCertVO;
|
||||||
import itn.let.uat.uia.service.EgovLoginService;
|
import itn.let.uat.uia.service.EgovLoginService;
|
||||||
import itn.let.uss.umt.service.UserManageVO;
|
import itn.let.uss.umt.service.UserManageVO;
|
||||||
import itn.let.utl.fcc.service.EgovNumberUtil;
|
import itn.let.utl.fcc.service.EgovNumberUtil;
|
||||||
@ -318,240 +319,6 @@ public class EgovLoginServiceImpl extends EgovAbstractServiceImpl implements
|
|||||||
return loginDAO.selectPassMiss(vo);
|
return loginDAO.selectPassMiss(vo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public KmcVO kmcDecryption(HttpServletRequest request, KmcVO kmcVO) {
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
String rec_cert = request.getParameter("rec_cert").trim();
|
|
||||||
String certNum = request.getParameter("certNum").trim();
|
|
||||||
|
|
||||||
kmcVO.setRecCert(rec_cert);
|
|
||||||
kmcVO.setCertNum(certNum);
|
|
||||||
// 파라미터 유효성 검증
|
|
||||||
if (rec_cert.length() == 0 || certNum.length() == 0) {
|
|
||||||
kmcVO.setErrMessage("비정상");
|
|
||||||
return kmcVO;
|
|
||||||
}
|
|
||||||
// 변수선언
|
|
||||||
// --------------------------------------------------------------------------------------------------------
|
|
||||||
String k_certNum = ""; // 파라미터로 수신한 요청번호
|
|
||||||
k_certNum = certNum;
|
|
||||||
String date = ""; // 요청일시
|
|
||||||
String CI = ""; // 연계정보(CI)
|
|
||||||
String DI = ""; // 중복가입확인정보(DI)
|
|
||||||
String phoneNo = ""; // 휴대폰번호
|
|
||||||
String phoneCorp = ""; // 이동통신사
|
|
||||||
String birthDay = ""; // 생년월일
|
|
||||||
String gender = ""; // 성별
|
|
||||||
String nation = ""; // 내국인
|
|
||||||
String name = ""; // 성명
|
|
||||||
String M_name = ""; // 미성년자 성명
|
|
||||||
String M_birthDay = ""; // 미성년자 생년월일
|
|
||||||
String M_Gender = ""; // 미성년자 성별
|
|
||||||
String M_nation = ""; // 미성년자 내외국인
|
|
||||||
String result = ""; // 결과값
|
|
||||||
|
|
||||||
String certMet = ""; // 인증방법
|
|
||||||
String ip = ""; // ip주소
|
|
||||||
String plusInfo = "";
|
|
||||||
|
|
||||||
String encPara = "";
|
|
||||||
String encMsg1 = "";
|
|
||||||
String encMsg2 = "";
|
|
||||||
String msgChk = "";
|
|
||||||
|
|
||||||
IcertSecuManager seed = new IcertSecuManager();
|
|
||||||
|
|
||||||
// 02. 1차 복호화
|
|
||||||
// 수신된 certNum를 이용하여 복호화
|
|
||||||
rec_cert = seed.getDec(rec_cert, k_certNum);
|
|
||||||
|
|
||||||
// 03. 1차 파싱
|
|
||||||
int inf1 = rec_cert.indexOf("/", 0);
|
|
||||||
int inf2 = rec_cert.indexOf("/", inf1 + 1);
|
|
||||||
|
|
||||||
encPara = rec_cert.substring(0, inf1); // 암호화된 통합 파라미터
|
|
||||||
encMsg1 = rec_cert.substring(inf1 + 1, inf2); // 암호화된 통합 파라미터의 Hash값
|
|
||||||
|
|
||||||
// 04. 위변조 검증
|
|
||||||
encMsg2 = seed.getMsg(encPara);
|
|
||||||
kmcVO.setEncMsg2(encMsg2);
|
|
||||||
if (encMsg2.equals(encMsg1)) {
|
|
||||||
msgChk = "Y";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!"Y".equals(msgChk)) {
|
|
||||||
kmcVO.setErrMessage("비정상접근입니다.");
|
|
||||||
return kmcVO;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 05. 2차 복호화
|
|
||||||
rec_cert = seed.getDec(encPara, k_certNum);
|
|
||||||
kmcVO.setRecCert(rec_cert);
|
|
||||||
// 06. 2차 파싱
|
|
||||||
int info1 = rec_cert.indexOf("/", 0);
|
|
||||||
int info2 = rec_cert.indexOf("/", info1 + 1);
|
|
||||||
int info3 = rec_cert.indexOf("/", info2 + 1);
|
|
||||||
int info4 = rec_cert.indexOf("/", info3 + 1);
|
|
||||||
int info5 = rec_cert.indexOf("/", info4 + 1);
|
|
||||||
int info6 = rec_cert.indexOf("/", info5 + 1);
|
|
||||||
int info7 = rec_cert.indexOf("/", info6 + 1);
|
|
||||||
int info8 = rec_cert.indexOf("/", info7 + 1);
|
|
||||||
int info9 = rec_cert.indexOf("/", info8 + 1);
|
|
||||||
int info10 = rec_cert.indexOf("/", info9 + 1);
|
|
||||||
int info11 = rec_cert.indexOf("/", info10 + 1);
|
|
||||||
int info12 = rec_cert.indexOf("/", info11 + 1);
|
|
||||||
int info13 = rec_cert.indexOf("/", info12 + 1);
|
|
||||||
int info14 = rec_cert.indexOf("/", info13 + 1);
|
|
||||||
int info15 = rec_cert.indexOf("/", info14 + 1);
|
|
||||||
int info16 = rec_cert.indexOf("/", info15 + 1);
|
|
||||||
int info17 = rec_cert.indexOf("/", info16 + 1);
|
|
||||||
int info18 = rec_cert.indexOf("/", info17 + 1);
|
|
||||||
|
|
||||||
certNum = rec_cert.substring(0, info1);
|
|
||||||
kmcVO.setCertNum(certNum);
|
|
||||||
date = rec_cert.substring(info1 + 1, info2);
|
|
||||||
kmcVO.setDate(date);
|
|
||||||
CI = rec_cert.substring(info2 + 1, info3);
|
|
||||||
kmcVO.setCI(CI);
|
|
||||||
phoneNo = rec_cert.substring(info3 + 1, info4);
|
|
||||||
kmcVO.setPhoneNo(phoneNo);
|
|
||||||
phoneCorp = rec_cert.substring(info4 + 1, info5);
|
|
||||||
kmcVO.setPhoneCorp(phoneCorp);
|
|
||||||
birthDay = rec_cert.substring(info5 + 1, info6);
|
|
||||||
kmcVO.setBirthDay(birthDay);
|
|
||||||
gender = rec_cert.substring(info6 + 1, info7);
|
|
||||||
kmcVO.setGender(gender);
|
|
||||||
nation = rec_cert.substring(info7 + 1, info8);
|
|
||||||
kmcVO.setNation(nation);
|
|
||||||
name = rec_cert.substring(info8 + 1, info9);
|
|
||||||
kmcVO.setName(name);
|
|
||||||
result = rec_cert.substring(info9 + 1, info10);
|
|
||||||
kmcVO.setResult(result);
|
|
||||||
certMet = rec_cert.substring(info10 + 1, info11);
|
|
||||||
kmcVO.setCertMet(certMet);
|
|
||||||
ip = rec_cert.substring(info11 + 1, info12);
|
|
||||||
kmcVO.setIp(ip);
|
|
||||||
M_name = rec_cert.substring(info12 + 1, info13);
|
|
||||||
kmcVO.setMName(M_name);
|
|
||||||
M_birthDay = rec_cert.substring(info13 + 1, info14);
|
|
||||||
kmcVO.setMBirthDay(M_birthDay);
|
|
||||||
M_Gender = rec_cert.substring(info14 + 1, info15);
|
|
||||||
kmcVO.setMGender(M_Gender);
|
|
||||||
M_nation = rec_cert.substring(info15 + 1, info16);
|
|
||||||
kmcVO.setMNation(M_nation);
|
|
||||||
plusInfo = rec_cert.substring(info16 + 1, info17);
|
|
||||||
kmcVO.setPlusInfo(plusInfo);
|
|
||||||
DI = rec_cert.substring(info17 + 1, info18);
|
|
||||||
kmcVO.setDI(DI);
|
|
||||||
|
|
||||||
// 07. CI, DI 복호화
|
|
||||||
CI = seed.getDec(CI, k_certNum);
|
|
||||||
kmcVO.setCI(CI);
|
|
||||||
DI = seed.getDec(DI, k_certNum);
|
|
||||||
kmcVO.setDI(DI);
|
|
||||||
|
|
||||||
if ("Y".equals(result)) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// --------------------------------------------------------------
|
|
||||||
String regex = "";
|
|
||||||
if (certNum.length() == 0 || certNum.length() > 40) {
|
|
||||||
kmcVO.setErrMessage("요청번호 비정상.");
|
|
||||||
return kmcVO;
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if (date.length() != 14 || !this.paramChk(regex, date)) {
|
|
||||||
kmcVO.setErrMessage("요청일시");
|
|
||||||
return kmcVO;
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[A-Z]*";
|
|
||||||
if (certMet.length() != 1 || !this.paramChk(regex, certMet)) {
|
|
||||||
kmcVO.setErrMessage("본인인증방법 비정상" + certMet);
|
|
||||||
return kmcVO;
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if ((phoneNo.length() != 10 && phoneNo.length() != 11) || !this.paramChk(regex, phoneNo)) {
|
|
||||||
kmcVO.setErrMessage("휴대폰번호 비정상");
|
|
||||||
return kmcVO;
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[A-Z]*";
|
|
||||||
if (phoneCorp.length() != 3 || !this.paramChk(regex, phoneCorp)) {
|
|
||||||
kmcVO.setErrMessage("이동통신사 비정상");
|
|
||||||
return kmcVO;
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if (birthDay.length() != 8 || !this.paramChk(regex, birthDay)) {
|
|
||||||
kmcVO.setErrMessage("생년월일 비정상");
|
|
||||||
return kmcVO;
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if (gender.length() != 1 || !this.paramChk(regex, gender)) {
|
|
||||||
kmcVO.setErrMessage("성별 비정상");
|
|
||||||
return kmcVO;
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if (nation.length() != 1 || !this.paramChk(regex, nation)) {
|
|
||||||
kmcVO.setErrMessage("내/외국인 비정상");
|
|
||||||
return kmcVO;
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[\\sA-Za-z가-<2D>R.,-]*";
|
|
||||||
if (name.length() > 60 || !this.paramChk(regex, name)) {
|
|
||||||
kmcVO.setErrMessage("성명 비정상");
|
|
||||||
return kmcVO;
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[A-Z]*";
|
|
||||||
if (result.length() != 1 || !this.paramChk(regex, result)) {
|
|
||||||
kmcVO.setErrMessage("결과값 비정상");
|
|
||||||
return kmcVO;
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[\\sA-Za-z가-?.,-]*";
|
|
||||||
if (M_name.length() != 0) {
|
|
||||||
if (M_name.length() > 60 || !this.paramChk(regex, M_name)) {
|
|
||||||
kmcVO.setErrMessage("미성년자 성명 비정상");
|
|
||||||
return kmcVO;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if (M_birthDay.length() != 0) {
|
|
||||||
if (M_birthDay.length() != 8 || !this.paramChk(regex, M_birthDay)) {
|
|
||||||
kmcVO.setErrMessage("미성년자 생년월일 비정상");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if (M_Gender.length() != 0) {
|
|
||||||
if (M_Gender.length() != 1 || !paramChk(regex, M_Gender)) {
|
|
||||||
kmcVO.setErrMessage("미성년자 성별 비정상");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if (M_nation.length() != 0) {
|
|
||||||
if (M_nation.length() != 1 || !this.paramChk(regex, M_nation)) {
|
|
||||||
kmcVO.setErrMessage("미성년자 내/외국인 비정상");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
return kmcVO;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public Boolean paramChk(String patn, String param) {
|
public Boolean paramChk(String patn, String param) {
|
||||||
Pattern pattern = Pattern.compile(patn);
|
Pattern pattern = Pattern.compile(patn);
|
||||||
Matcher matcher = pattern.matcher(param);
|
Matcher matcher = pattern.matcher(param);
|
||||||
|
|||||||
@ -253,7 +253,7 @@ public class EgovLoginController {
|
|||||||
private CertIpService certIpService;
|
private CertIpService certIpService;
|
||||||
|
|
||||||
@Resource(name = "KmcCertChecker")
|
@Resource(name = "KmcCertChecker")
|
||||||
private KmcCertChecker kmcCertCheck;
|
private KmcCertChecker kmcCertChecker;
|
||||||
|
|
||||||
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger(MjonMsgDataController.class);
|
private static final Logger logger = LoggerFactory.getLogger(MjonMsgDataController.class);
|
||||||
@ -336,7 +336,7 @@ public class EgovLoginController {
|
|||||||
|
|
||||||
MberCertPhoneVO mberCertPhoneVO = new MberCertPhoneVO();
|
MberCertPhoneVO mberCertPhoneVO = new MberCertPhoneVO();
|
||||||
mberCertPhoneVO.setTrUrl("/web/cop/kmc/authRequestAjax.do");
|
mberCertPhoneVO.setTrUrl("/web/cop/kmc/authRequestAjax.do");
|
||||||
AuthCertVO certVO = kmcCertCheck.authCertCheck(mberCertPhoneVO, request);
|
AuthCertVO certVO = kmcCertChecker.authCertCheck(mberCertPhoneVO, request);
|
||||||
|
|
||||||
model.addAttribute("tr_cert", certVO.getTr_cert());
|
model.addAttribute("tr_cert", certVO.getTr_cert());
|
||||||
model.addAttribute("tr_url", certVO.getTr_url());
|
model.addAttribute("tr_url", certVO.getTr_url());
|
||||||
@ -385,7 +385,7 @@ public class EgovLoginController {
|
|||||||
mberCertPhoneVO.setNation(mberManageVO.getNationality());
|
mberCertPhoneVO.setNation(mberManageVO.getNationality());
|
||||||
mberCertPhoneVO.setBirthDay(mberManageVO.getBirth());
|
mberCertPhoneVO.setBirthDay(mberManageVO.getBirth());
|
||||||
|
|
||||||
AuthCertVO certVO = kmcCertCheck.authCertCheck(mberCertPhoneVO, request);
|
AuthCertVO certVO = kmcCertChecker.authCertCheck(mberCertPhoneVO, request);
|
||||||
|
|
||||||
// AuthCertVO certVO = kmcCertCheck.authCertCheckTwo(serverNm + "/web/cop/kmc/authRequestAjax.do",
|
// AuthCertVO certVO = kmcCertCheck.authCertCheckTwo(serverNm + "/web/cop/kmc/authRequestAjax.do",
|
||||||
// mberManageVO.getMberNm(), mberManageVO.getMoblphonNo(), mberManageVO.getSexdstnCode(),
|
// mberManageVO.getMberNm(), mberManageVO.getMoblphonNo(), mberManageVO.getSexdstnCode(),
|
||||||
@ -4035,7 +4035,7 @@ public class EgovLoginController {
|
|||||||
}
|
}
|
||||||
mberCertPhoneVO.setPlusInfo(plusInfo);
|
mberCertPhoneVO.setPlusInfo(plusInfo);
|
||||||
|
|
||||||
AuthCertVO certVO = kmcCertCheck.authCertCheck(mberCertPhoneVO, request);
|
AuthCertVO certVO = kmcCertChecker.authCertCheck(mberCertPhoneVO, request);
|
||||||
|
|
||||||
modelAndView.addObject("tr_cert", certVO.getTr_cert());
|
modelAndView.addObject("tr_cert", certVO.getTr_cert());
|
||||||
modelAndView.addObject("tr_url", certVO.getTr_url());
|
modelAndView.addObject("tr_url", certVO.getTr_url());
|
||||||
@ -4060,22 +4060,26 @@ public class EgovLoginController {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
@RequestMapping("/web/cop/kmc/authRequestFindIdPwAjax.do")
|
@RequestMapping("/web/cop/kmc/authRequestFindIdPwAjax.do")
|
||||||
public String authRequestFindIdPwAjax(HttpServletRequest request, ModelMap model,
|
public String authRequestFindIdPwAjax(HttpServletRequest request, HttpServletResponse response, ModelMap model,
|
||||||
@RequestParam Map<String, Object> commandMap, @ModelAttribute("searchVO") KmcVO kmcVO,
|
@RequestParam Map<String, Object> commandMap, @ModelAttribute("searchVO") KmcVO kmcVO,
|
||||||
RedirectAttributes redirectAttributes) throws Exception {
|
RedirectAttributes redirectAttributes) throws Exception {
|
||||||
|
|
||||||
KmcVO kmcRVO = loginService.kmcDecryption(request, kmcVO);
|
// KmcVO kmcRVO = loginService.kmcDecryption(request, kmcVO);
|
||||||
|
//kmc 본인인증 결과처리
|
||||||
|
kmcVO = kmcCertChecker.authCertResult(request, response, model);
|
||||||
|
//kmc 본인인증 로그 처리
|
||||||
|
AuthCertVO certVO = kmcCertChecker.insertCertLog(kmcVO, "KMC_아이디패스워드찾기");
|
||||||
|
|
||||||
String msg = "";
|
String msg = "";
|
||||||
if (!findIdKmcCheck(kmcRVO.getDI(), kmcRVO.getName(), kmcRVO.getPhoneNo())) {
|
if (!findIdKmcCheck(kmcVO.getDI(), kmcVO.getName(), kmcVO.getPhoneNo())) {
|
||||||
msg = "일치하는 정보가 없습니다.";
|
msg = "일치하는 정보가 없습니다.";
|
||||||
redirectAttributes.addFlashAttribute("message", msg);
|
redirectAttributes.addFlashAttribute("message", msg);
|
||||||
return "redirect:/web/user/findUserId.do";
|
return "redirect:/web/user/findUserId.do";
|
||||||
}
|
}
|
||||||
|
|
||||||
kmcRVO.setCertType("KMC_아이디패스워드찾기");
|
// kmcRVO.setCertType("KMC_아이디패스워드찾기");
|
||||||
// 디비 테이블에 저장하기
|
// // 디비 테이블에 저장하기
|
||||||
mberManageService.insertCertInfoLogBn(kmcRVO);
|
// mberManageService.insertCertInfoLogBn(kmcRVO);
|
||||||
|
|
||||||
model.addAttribute("kmcVO", kmcVO);
|
model.addAttribute("kmcVO", kmcVO);
|
||||||
return "web/login/findUserIdKmcReqPage";
|
return "web/login/findUserIdKmcReqPage";
|
||||||
@ -4092,18 +4096,24 @@ public class EgovLoginController {
|
|||||||
* @discription 관리자 로그인 DN 값 최초 등록
|
* @discription 관리자 로그인 DN 값 최초 등록
|
||||||
*/
|
*/
|
||||||
@RequestMapping("/web/cop/kmc/authRequestSelfLoginAjax.do")
|
@RequestMapping("/web/cop/kmc/authRequestSelfLoginAjax.do")
|
||||||
public String authRequestSelfLoginAjax(HttpServletRequest request, ModelMap model,
|
public String authRequestSelfLoginAjax(HttpServletRequest request, HttpServletResponse response, ModelMap model,
|
||||||
@RequestParam Map<String, Object> commandMap, @ModelAttribute("searchVO") KmcVO kmcVO,
|
@RequestParam Map<String, Object> commandMap, @ModelAttribute("searchVO") KmcVO kmcVO,
|
||||||
RedirectAttributes redirectAttributes, HttpSession session) throws Exception {
|
RedirectAttributes redirectAttributes, HttpSession session) throws Exception {
|
||||||
|
|
||||||
UserManageVO userManageVO = new UserManageVO();
|
UserManageVO userManageVO = new UserManageVO();
|
||||||
|
|
||||||
KmcVO kmcRVO = loginService.kmcDecryption(request, kmcVO);
|
// KmcVO kmcRVO = loginService.kmcDecryption(request, kmcVO);
|
||||||
|
|
||||||
userManageVO.setCrtfcDnValue(kmcRVO.getDI());
|
//kmc 본인인증 결과처리
|
||||||
userManageVO.setEmplyrNm(kmcRVO.getName());
|
kmcVO = kmcCertChecker.authCertResult(request, response, model);
|
||||||
userManageVO.setEmplyrId(kmcRVO.getPlusInfo().split(",,,")[0]);
|
//kmc 본인인증 로그 처리
|
||||||
userManageVO.setPassword(kmcRVO.getPlusInfo().split(",,,")[1]);
|
AuthCertVO certVO = kmcCertChecker.insertCertLog(kmcVO, "KMC_아이디패스워드찾기");
|
||||||
|
|
||||||
|
|
||||||
|
userManageVO.setCrtfcDnValue(kmcVO.getDI());
|
||||||
|
userManageVO.setEmplyrNm(kmcVO.getName());
|
||||||
|
userManageVO.setEmplyrId(kmcVO.getPlusInfo().split(",,,")[0]);
|
||||||
|
userManageVO.setPassword(kmcVO.getPlusInfo().split(",,,")[1]);
|
||||||
|
|
||||||
userManageService.updateCrtfcDnValue(userManageVO);
|
userManageService.updateCrtfcDnValue(userManageVO);
|
||||||
|
|
||||||
@ -4121,20 +4131,20 @@ public class EgovLoginController {
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
// TODO: handle exception
|
// TODO: handle exception
|
||||||
}
|
}
|
||||||
kmcRVO.setCertType("KMC_관리자미인증IP접속인증");
|
// kmcRVO.setCertType("KMC_관리자미인증IP접속인증");
|
||||||
// 디비 테이블에 저장하기
|
// // 디비 테이블에 저장하기
|
||||||
|
//
|
||||||
try {
|
// try {
|
||||||
mberManageService.insertCertInfoLogBn(kmcRVO);
|
// mberManageService.insertCertInfoLogBn(kmcRVO);
|
||||||
|
//
|
||||||
} catch (Exception e) {
|
// } catch (Exception e) {
|
||||||
System.out.println("!!!!!!!!!!!!!!!!!");
|
// System.out.println("!!!!!!!!!!!!!!!!!");
|
||||||
e.printStackTrace();
|
// e.printStackTrace();
|
||||||
// TODO: handle exception
|
// // TODO: handle exception
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
model.addAttribute("kmcVO", kmcRVO);
|
model.addAttribute("kmcVO", kmcVO);
|
||||||
|
|
||||||
System.out.println("======================================");
|
System.out.println("======================================");
|
||||||
model.addAttribute("userManageVO", userManageVO);
|
model.addAttribute("userManageVO", userManageVO);
|
||||||
@ -5425,7 +5435,7 @@ public class EgovLoginController {
|
|||||||
mberCertPhoneVO.setNation(KMCInfoVO.getNationality());
|
mberCertPhoneVO.setNation(KMCInfoVO.getNationality());
|
||||||
mberCertPhoneVO.setPlusInfo(loginVO.getId());
|
mberCertPhoneVO.setPlusInfo(loginVO.getId());
|
||||||
|
|
||||||
AuthCertVO certVO = kmcCertCheck.authCertCheck(mberCertPhoneVO, request);
|
AuthCertVO certVO = kmcCertChecker.authCertCheck(mberCertPhoneVO, request);
|
||||||
|
|
||||||
modelAndView.addObject("tr_cert", certVO.getTr_cert());
|
modelAndView.addObject("tr_cert", certVO.getTr_cert());
|
||||||
modelAndView.addObject("tr_url", certVO.getTr_url());
|
modelAndView.addObject("tr_url", certVO.getTr_url());
|
||||||
@ -5446,245 +5456,19 @@ public class EgovLoginController {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@RequestMapping("/web/cop/kmc/insertIPAjax.do")
|
@RequestMapping("/web/cop/kmc/insertIPAjax.do")
|
||||||
public String insertIPAjax(HttpServletRequest request, ModelMap model, @RequestParam Map<String, Object> commandMap,
|
public String insertIPAjax(HttpServletRequest request, HttpServletResponse response, ModelMap model, @RequestParam Map<String, Object> commandMap,
|
||||||
@ModelAttribute("searchVO") KmcVO kmcVO) throws Exception {
|
@ModelAttribute("searchVO") KmcVO kmcVO) throws Exception {
|
||||||
|
|
||||||
String errMessage = ""; // 에러메세지
|
//kmc 본인인증 결과처리
|
||||||
|
kmcVO = kmcCertChecker.authCertResult(request, response, model);
|
||||||
|
//kmc 본인인증 로그 처리
|
||||||
|
AuthCertVO certVO = kmcCertChecker.insertCertLog(kmcVO, "IP등록");
|
||||||
|
|
||||||
String rec_cert = ""; // 결과값(암호화)
|
|
||||||
String certNum = ""; // certNum
|
|
||||||
|
|
||||||
rec_cert = request.getParameter("rec_cert").trim();
|
|
||||||
certNum = request.getParameter("certNum").trim();
|
|
||||||
|
|
||||||
kmcVO.setRecCert(rec_cert);
|
|
||||||
kmcVO.setCertNum(certNum);
|
|
||||||
// 파라미터 유효성 검증
|
|
||||||
if (rec_cert.length() == 0 || certNum.length() == 0) {
|
|
||||||
errMessage = "비정상";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 변수선언
|
|
||||||
// --------------------------------------------------------------------------------------------------------
|
|
||||||
String k_certNum = ""; // 파라미터로 수신한 요청번호
|
|
||||||
k_certNum = certNum;
|
|
||||||
String date = ""; // 요청일시
|
|
||||||
String CI = ""; // 연계정보(CI)
|
|
||||||
String DI = ""; // 중복가입확인정보(DI)
|
|
||||||
String phoneNo = ""; // 휴대폰번호
|
|
||||||
String phoneCorp = ""; // 이동통신사
|
|
||||||
String birthDay = ""; // 생년월일
|
|
||||||
String gender = ""; // 성별
|
|
||||||
String nation = ""; // 내국인
|
|
||||||
String name = ""; // 성명
|
|
||||||
String M_name = ""; // 미성년자 성명
|
|
||||||
String M_birthDay = ""; // 미성년자 생년월일
|
|
||||||
String M_Gender = ""; // 미성년자 성별
|
|
||||||
String M_nation = ""; // 미성년자 내외국인
|
|
||||||
String result = ""; // 결과값
|
|
||||||
|
|
||||||
String certMet = ""; // 인증방법
|
|
||||||
String ip = ""; // ip주소
|
|
||||||
String plusInfo = "";
|
|
||||||
|
|
||||||
String encPara = "";
|
|
||||||
String encMsg1 = "";
|
|
||||||
String encMsg2 = "";
|
|
||||||
String msgChk = "";
|
|
||||||
|
|
||||||
com.icert.comm.secu.IcertSecuManager seed = new com.icert.comm.secu.IcertSecuManager();
|
|
||||||
|
|
||||||
// 02. 1차 복호화
|
|
||||||
// 수신된 certNum를 이용하여 복호화
|
|
||||||
rec_cert = seed.getDec(rec_cert, k_certNum);
|
|
||||||
|
|
||||||
// 03. 1차 파싱
|
|
||||||
int inf1 = rec_cert.indexOf("/", 0);
|
|
||||||
int inf2 = rec_cert.indexOf("/", inf1 + 1);
|
|
||||||
|
|
||||||
encPara = rec_cert.substring(0, inf1); // 암호화된 통합 파라미터
|
|
||||||
encMsg1 = rec_cert.substring(inf1 + 1, inf2); // 암호화된 통합 파라미터의 Hash값
|
|
||||||
|
|
||||||
// 04. 위변조 검증
|
|
||||||
encMsg2 = seed.getMsg(encPara);
|
|
||||||
kmcVO.setEncMsg2(encMsg2);
|
|
||||||
if (encMsg2.equals(encMsg1)) {
|
|
||||||
msgChk = "Y";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!"Y".equals(msgChk)) {
|
|
||||||
errMessage = "비정상접근입니다.";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 05. 2차 복호화
|
|
||||||
rec_cert = seed.getDec(encPara, k_certNum);
|
|
||||||
kmcVO.setRecCert(rec_cert);
|
|
||||||
// 06. 2차 파싱
|
|
||||||
int info1 = rec_cert.indexOf("/", 0);
|
|
||||||
int info2 = rec_cert.indexOf("/", info1 + 1);
|
|
||||||
int info3 = rec_cert.indexOf("/", info2 + 1);
|
|
||||||
int info4 = rec_cert.indexOf("/", info3 + 1);
|
|
||||||
int info5 = rec_cert.indexOf("/", info4 + 1);
|
|
||||||
int info6 = rec_cert.indexOf("/", info5 + 1);
|
|
||||||
int info7 = rec_cert.indexOf("/", info6 + 1);
|
|
||||||
int info8 = rec_cert.indexOf("/", info7 + 1);
|
|
||||||
int info9 = rec_cert.indexOf("/", info8 + 1);
|
|
||||||
int info10 = rec_cert.indexOf("/", info9 + 1);
|
|
||||||
int info11 = rec_cert.indexOf("/", info10 + 1);
|
|
||||||
int info12 = rec_cert.indexOf("/", info11 + 1);
|
|
||||||
int info13 = rec_cert.indexOf("/", info12 + 1);
|
|
||||||
int info14 = rec_cert.indexOf("/", info13 + 1);
|
|
||||||
int info15 = rec_cert.indexOf("/", info14 + 1);
|
|
||||||
int info16 = rec_cert.indexOf("/", info15 + 1);
|
|
||||||
int info17 = rec_cert.indexOf("/", info16 + 1);
|
|
||||||
int info18 = rec_cert.indexOf("/", info17 + 1);
|
|
||||||
|
|
||||||
certNum = rec_cert.substring(0, info1);
|
|
||||||
kmcVO.setCertNum(certNum);
|
|
||||||
date = rec_cert.substring(info1 + 1, info2);
|
|
||||||
kmcVO.setDate(date);
|
|
||||||
CI = rec_cert.substring(info2 + 1, info3);
|
|
||||||
kmcVO.setCI(CI);
|
|
||||||
phoneNo = rec_cert.substring(info3 + 1, info4);
|
|
||||||
kmcVO.setPhoneNo(phoneNo);
|
|
||||||
phoneCorp = rec_cert.substring(info4 + 1, info5);
|
|
||||||
kmcVO.setPhoneCorp(phoneCorp);
|
|
||||||
birthDay = rec_cert.substring(info5 + 1, info6);
|
|
||||||
kmcVO.setBirthDay(birthDay);
|
|
||||||
gender = rec_cert.substring(info6 + 1, info7);
|
|
||||||
kmcVO.setGender(gender);
|
|
||||||
nation = rec_cert.substring(info7 + 1, info8);
|
|
||||||
kmcVO.setNation(nation);
|
|
||||||
name = rec_cert.substring(info8 + 1, info9);
|
|
||||||
kmcVO.setName(name);
|
|
||||||
result = rec_cert.substring(info9 + 1, info10);
|
|
||||||
kmcVO.setResult(result);
|
|
||||||
certMet = rec_cert.substring(info10 + 1, info11);
|
|
||||||
kmcVO.setCertMet(certMet);
|
|
||||||
ip = rec_cert.substring(info11 + 1, info12);
|
|
||||||
kmcVO.setIp(ip);
|
|
||||||
M_name = rec_cert.substring(info12 + 1, info13);
|
|
||||||
kmcVO.setMName(M_name);
|
|
||||||
M_birthDay = rec_cert.substring(info13 + 1, info14);
|
|
||||||
kmcVO.setMBirthDay(M_birthDay);
|
|
||||||
M_Gender = rec_cert.substring(info14 + 1, info15);
|
|
||||||
kmcVO.setMGender(M_Gender);
|
|
||||||
M_nation = rec_cert.substring(info15 + 1, info16);
|
|
||||||
kmcVO.setMNation(M_nation);
|
|
||||||
plusInfo = rec_cert.substring(info16 + 1, info17);
|
|
||||||
kmcVO.setPlusInfo(plusInfo);
|
|
||||||
DI = rec_cert.substring(info17 + 1, info18);
|
|
||||||
kmcVO.setDI(DI);
|
|
||||||
|
|
||||||
// 07. CI, DI 복호화
|
|
||||||
CI = seed.getDec(CI, k_certNum);
|
|
||||||
kmcVO.setCI(CI);
|
|
||||||
DI = seed.getDec(DI, k_certNum);
|
|
||||||
kmcVO.setDI(DI);
|
|
||||||
|
|
||||||
if ("Y".equals(result)) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// --------------------------------------------------------------
|
|
||||||
String regex = "";
|
|
||||||
if (certNum.length() == 0 || certNum.length() > 40) {
|
|
||||||
errMessage = "요청번호 비정상.";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if (date.length() != 14 || !paramChk(regex, date)) {
|
|
||||||
errMessage = "요청일시";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[A-Z]*";
|
|
||||||
if (certMet.length() != 1 || !paramChk(regex, certMet)) {
|
|
||||||
errMessage = "본인인증방법 비정상" + certMet;
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if ((phoneNo.length() != 10 && phoneNo.length() != 11) || !paramChk(regex, phoneNo)) {
|
|
||||||
errMessage = "휴대폰번호 비정상";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[A-Z]*";
|
|
||||||
if (phoneCorp.length() != 3 || !paramChk(regex, phoneCorp)) {
|
|
||||||
errMessage = "이동통신사 비정상";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if (birthDay.length() != 8 || !paramChk(regex, birthDay)) {
|
|
||||||
errMessage = "생년월일 비정상";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if (gender.length() != 1 || !paramChk(regex, gender)) {
|
|
||||||
errMessage = "성별 비정상";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if (nation.length() != 1 || !paramChk(regex, nation)) {
|
|
||||||
errMessage = "내/외국인 비정상";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[\\sA-Za-z가-<2D>R.,-]*";
|
|
||||||
if (name.length() > 60 || !paramChk(regex, name)) {
|
|
||||||
errMessage = "성명 비정상";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[A-Z]*";
|
|
||||||
if (result.length() != 1 || !paramChk(regex, result)) {
|
|
||||||
errMessage = "결과값 비정상";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[\\sA-Za-z가-?.,-]*";
|
|
||||||
if (M_name.length() != 0) {
|
|
||||||
if (M_name.length() > 60 || !paramChk(regex, M_name)) {
|
|
||||||
errMessage = "미성년자 성명 비정상";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if (M_birthDay.length() != 0) {
|
|
||||||
if (M_birthDay.length() != 8 || !paramChk(regex, M_birthDay)) {
|
|
||||||
errMessage = "미성년자 생년월일 비정상";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if (M_Gender.length() != 0) {
|
|
||||||
if (M_Gender.length() != 1 || !paramChk(regex, M_Gender)) {
|
|
||||||
errMessage = "미성년자 성별 비정상";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
regex = "[0-9]*";
|
|
||||||
if (M_nation.length() != 0) {
|
|
||||||
if (M_nation.length() != 1 || !paramChk(regex, M_nation)) {
|
|
||||||
errMessage = "미성년자 내/외국인 비정상";
|
|
||||||
return returnPage(model, errMessage, kmcVO);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
LoginVO loginVO = new LoginVO();
|
LoginVO loginVO = new LoginVO();
|
||||||
loginVO.setId(plusInfo);
|
loginVO.setId(kmcVO.getPlusInfo());
|
||||||
|
|
||||||
loginVO = loginService.selectKMCInfo(loginVO);
|
loginVO = loginService.selectKMCInfo(loginVO);
|
||||||
String userIp = EgovClntInfo.getClntIP(request);
|
loginVO.setIp(kmcVO.getIp());
|
||||||
loginVO.setIp(ip);
|
|
||||||
|
|
||||||
loginService.insertMberIp(loginVO);
|
loginService.insertMberIp(loginVO);
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -29,6 +29,7 @@ import itn.let.cert.phone.service.CertPhoneService;
|
|||||||
import itn.let.cert.phone.service.MberCertPhoneVO;
|
import itn.let.cert.phone.service.MberCertPhoneVO;
|
||||||
import itn.let.mjo.pay.service.KmcVO;
|
import itn.let.mjo.pay.service.KmcVO;
|
||||||
import itn.let.uat.uia.service.AuthCertVO;
|
import itn.let.uat.uia.service.AuthCertVO;
|
||||||
|
import itn.let.uss.umt.service.EgovMberManageService;
|
||||||
|
|
||||||
@Component("KmcCertChecker")
|
@Component("KmcCertChecker")
|
||||||
public class KmcCertChecker {
|
public class KmcCertChecker {
|
||||||
@ -36,6 +37,9 @@ public class KmcCertChecker {
|
|||||||
@Resource(name = "CertPhoneService")
|
@Resource(name = "CertPhoneService")
|
||||||
private CertPhoneService certPhoneService;
|
private CertPhoneService certPhoneService;
|
||||||
|
|
||||||
|
@Resource(name = "mberManageService")
|
||||||
|
private EgovMberManageService mberManageService;
|
||||||
|
|
||||||
//회원가입 시 인증수단을 휴대폰 본인인증만 했을 경우 사용
|
//회원가입 시 인증수단을 휴대폰 본인인증만 했을 경우 사용
|
||||||
public AuthCertVO authCertCheck(
|
public AuthCertVO authCertCheck(
|
||||||
MberCertPhoneVO mberCertPhoneVO
|
MberCertPhoneVO mberCertPhoneVO
|
||||||
@ -80,8 +84,8 @@ public class KmcCertChecker {
|
|||||||
|
|
||||||
//02. 1차 암호화 (tr_cert 데이터변수 조합 후 암호화)
|
//02. 1차 암호화 (tr_cert 데이터변수 조합 후 암호화)
|
||||||
String enc_tr_cert = "";
|
String enc_tr_cert = "";
|
||||||
// tr_cert = cpId +"/"+ urlCode +"/"+ certNum +"/"+ date +"/"+ certMet +"/"+ birthDay +"/"+ gender +"/"+ name +"/"+ phoneNo +"/"+ phoneCorp +"/"+ nation +"/"+ plusInfo +"/"+ extendVar;
|
tr_cert = cpId +"/"+ urlCode +"/"+ certNum +"/"+ date +"/"+ certMet +"/"+ birthDay +"/"+ gender +"/"+ name +"/"+ phoneNo +"/"+ phoneCorp +"/"+ nation +"/"+ plusInfo +"/"+ extendVar;
|
||||||
tr_cert = cpId +"/"+ urlCode +"/"+ certNum +"/"+ date +"/"+ certMet +"///////"+ plusInfo +"/"+ extendVar;
|
// tr_cert = cpId +"/"+ urlCode +"/"+ certNum +"/"+ date +"/"+ certMet +"///////"+ plusInfo +"/"+ extendVar;
|
||||||
enc_tr_cert = seed.getEnc(tr_cert, "");
|
enc_tr_cert = seed.getEnc(tr_cert, "");
|
||||||
|
|
||||||
//03. 1차 암호화 데이터에 대한 위변조 검증값 생성 (HMAC)
|
//03. 1차 암호화 데이터에 대한 위변조 검증값 생성 (HMAC)
|
||||||
@ -299,7 +303,7 @@ public class KmcCertChecker {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//02. 1차 복호화
|
//02. 1차 복호화
|
||||||
rec_cert = seed.getDec(rec_cert, k_certNum);
|
rec_cert = seed.getDec(rec_cert, "");
|
||||||
|
|
||||||
//03. 1차 파싱
|
//03. 1차 파싱
|
||||||
int inf1 = rec_cert.indexOf("/",0);
|
int inf1 = rec_cert.indexOf("/",0);
|
||||||
@ -343,28 +347,30 @@ public class KmcCertChecker {
|
|||||||
int info17 = rec_cert.indexOf("/",info16+1);
|
int info17 = rec_cert.indexOf("/",info16+1);
|
||||||
int info18 = rec_cert.indexOf("/",info17+1);
|
int info18 = rec_cert.indexOf("/",info17+1);
|
||||||
|
|
||||||
certNum = rec_cert.substring(0,info1);
|
kmcVO.setCertNum (rec_cert.substring(0,info1));
|
||||||
date = rec_cert.substring(info1+1,info2);
|
kmcVO.setDate (rec_cert.substring(info1+1,info2));
|
||||||
CI = rec_cert.substring(info2+1,info3);
|
//CI 복호화
|
||||||
phoneNo = rec_cert.substring(info3+1,info4);
|
kmcVO.setCI (seed.getDec(rec_cert.substring(info2+1,info3), ""));
|
||||||
phoneCorp = rec_cert.substring(info4+1,info5);
|
kmcVO.setPhoneNo (rec_cert.substring(info3+1,info4));
|
||||||
birth = rec_cert.substring(info5+1,info6);
|
kmcVO.setPhoneCorp (rec_cert.substring(info4+1,info5));
|
||||||
gender = rec_cert.substring(info6+1,info7);
|
kmcVO.setBirthDay (rec_cert.substring(info5+1,info6));
|
||||||
nation = rec_cert.substring(info7+1,info8);
|
kmcVO.setGender (rec_cert.substring(info6+1,info7));
|
||||||
name = rec_cert.substring(info8+1,info9);
|
kmcVO.setNation (rec_cert.substring(info7+1,info8));
|
||||||
result = rec_cert.substring(info9+1,info10);
|
kmcVO.setName (rec_cert.substring(info8+1,info9));
|
||||||
certMet = rec_cert.substring(info10+1,info11);
|
kmcVO.setResult (rec_cert.substring(info9+1,info10));
|
||||||
ip = rec_cert.substring(info11+1,info12);
|
kmcVO.setCertMet (rec_cert.substring(info10+1,info11));
|
||||||
reserve1 = rec_cert.substring(info12+1,info13);
|
kmcVO.setIp (rec_cert.substring(info11+1,info12));
|
||||||
reserve2 = rec_cert.substring(info13+1,info14);
|
kmcVO.setReserve1 (rec_cert.substring(info12+1,info13));
|
||||||
reserve3 = rec_cert.substring(info14+1,info15);
|
kmcVO.setReserve2 (rec_cert.substring(info13+1,info14));
|
||||||
reserve4 = rec_cert.substring(info15+1,info16);
|
kmcVO.setReserve3 (rec_cert.substring(info14+1,info15));
|
||||||
plusInfo = rec_cert.substring(info16+1,info17);
|
kmcVO.setReserve4 (rec_cert.substring(info15+1,info16));
|
||||||
DI = rec_cert.substring(info17+1,info18);
|
kmcVO.setPlusInfo (rec_cert.substring(info16+1,info17));
|
||||||
|
//DI 복호화
|
||||||
|
kmcVO.setDI (seed.getDec(rec_cert.substring(info17+1,info18), ""));
|
||||||
|
|
||||||
//07. CI, DI 복호화
|
//07. CI, DI 복호화
|
||||||
CI = seed.getDec(CI, "");
|
// CI = seed.getDec(CI, "");
|
||||||
DI = seed.getDec(DI, "");
|
// DI = seed.getDec(DI, "");
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -386,7 +392,27 @@ public class KmcCertChecker {
|
|||||||
return kmcVO;
|
return kmcVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public AuthCertVO insertCertLog(KmcVO kmcVO, String msg) throws Exception {
|
||||||
|
//KMC 본인인증 로그 insert
|
||||||
|
AuthCertVO certVO = new AuthCertVO();
|
||||||
|
certVO.setMberId(kmcVO.getPlusInfo());
|
||||||
|
certVO.setCertNum(kmcVO.getCertNum());
|
||||||
|
certVO.setCertDate(kmcVO.getDate());
|
||||||
|
certVO.setCertDi(kmcVO.getDI());
|
||||||
|
certVO.setCertPhone(kmcVO.getPhoneNo());
|
||||||
|
certVO.setCertNation(kmcVO.getNation());
|
||||||
|
certVO.setCertName(kmcVO.getName());
|
||||||
|
certVO.setCertResult(kmcVO.getResult());
|
||||||
|
certVO.setCertType(msg);
|
||||||
|
certVO.setCertIpaddr(kmcVO.getIp());
|
||||||
|
certVO.setBirthDay(kmcVO.getBirthDay());
|
||||||
|
certVO.setSexdstnCode(kmcVO.getGender());
|
||||||
|
|
||||||
|
//디비 테이블에 저장하기
|
||||||
|
mberManageService.insertCertInfoLog(certVO);
|
||||||
|
|
||||||
|
return certVO;
|
||||||
|
}
|
||||||
|
|
||||||
private String getDomain(HttpServletRequest request) {
|
private String getDomain(HttpServletRequest request) {
|
||||||
String serverNm = request.getScheme() + "://" + request.getServerName();
|
String serverNm = request.getScheme() + "://" + request.getServerName();
|
||||||
|
|||||||
@ -344,6 +344,7 @@
|
|||||||
<input type="hidden" name="tr_cert" value = "<%=tr_cert%>">
|
<input type="hidden" name="tr_cert" value = "<%=tr_cert%>">
|
||||||
<input type="hidden" name="tr_url" value = "<%=tr_url%>">
|
<input type="hidden" name="tr_url" value = "<%=tr_url%>">
|
||||||
<input type="hidden" name="tr_add" value = "<%=tr_add%>">
|
<input type="hidden" name="tr_add" value = "<%=tr_add%>">
|
||||||
|
<input type="hidden" name="tr_ver" value = "V2">
|
||||||
<input type="submit" value="본인인증서비스 요청" onclick= "javascript:openKMCISWindow();">
|
<input type="submit" value="본인인증서비스 요청" onclick= "javascript:openKMCISWindow();">
|
||||||
</form>
|
</form>
|
||||||
<BR>
|
<BR>
|
||||||
|
|||||||
@ -904,5 +904,6 @@ function listAddrTransHistAjax(pageNo) {
|
|||||||
<input type="hidden" name="tr_url" id="tr_url" value = "${tr_url}">
|
<input type="hidden" name="tr_url" id="tr_url" value = "${tr_url}">
|
||||||
<input type="hidden" name="tr_add" id="tr_add" value = "${tr_add}">
|
<input type="hidden" name="tr_add" id="tr_add" value = "${tr_add}">
|
||||||
<input type="hidden" name="mberId" id="mberId" value= "${userId}">
|
<input type="hidden" name="mberId" id="mberId" value= "${userId}">
|
||||||
|
<input type="hidden" name="tr_ver" value = "V2">
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
|||||||
@ -1883,6 +1883,7 @@ function actionLogin_end(){
|
|||||||
<input type="hidden" name="tr_cert" id="tr_certHeader" value = "">
|
<input type="hidden" name="tr_cert" id="tr_certHeader" value = "">
|
||||||
<input type="hidden" name="tr_url" id="tr_urlHeader" value = "">
|
<input type="hidden" name="tr_url" id="tr_urlHeader" value = "">
|
||||||
<input type="hidden" name="tr_add" id="tr_addHeader" value = "">
|
<input type="hidden" name="tr_add" id="tr_addHeader" value = "">
|
||||||
|
<input type="hidden" name="tr_ver" value = "V2">
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<form name="cmpChangeForm" id="cmpChangeForm" method="post" action="#">
|
<form name="cmpChangeForm" id="cmpChangeForm" method="post" action="#">
|
||||||
|
|||||||
@ -90,6 +90,7 @@ function openMberSecessionInfo(key){
|
|||||||
<input type="hidden" id="tr_url" name="tr_url" value = "${certVO.tr_url}">
|
<input type="hidden" id="tr_url" name="tr_url" value = "${certVO.tr_url}">
|
||||||
<input type="hidden" id="tr_add" name="tr_add" value = "${certVO.tr_add}">
|
<input type="hidden" id="tr_add" name="tr_add" value = "${certVO.tr_add}">
|
||||||
<input type="hidden" id="tr_cert" name="tr_cert" value = "${certVO.tr_cert}">
|
<input type="hidden" id="tr_cert" name="tr_cert" value = "${certVO.tr_cert}">
|
||||||
|
<input type="hidden" name="tr_ver" value = "V2">
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<!-- ars 본인인증 Form -->
|
<!-- ars 본인인증 Form -->
|
||||||
|
|||||||
@ -821,5 +821,6 @@ function listAddrTransHistAjax(pageNo) {
|
|||||||
<input type="hidden" name="tr_url" id="tr_url" value = "${tr_url}">
|
<input type="hidden" name="tr_url" id="tr_url" value = "${tr_url}">
|
||||||
<input type="hidden" name="tr_add" id="tr_add" value = "${tr_add}">
|
<input type="hidden" name="tr_add" id="tr_add" value = "${tr_add}">
|
||||||
<input type="hidden" name="mberId" id="mberId" value= "${userId}">
|
<input type="hidden" name="mberId" id="mberId" value= "${userId}">
|
||||||
|
<input type="hidden" name="tr_ver" value = "V2">
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
|||||||
@ -860,6 +860,7 @@ function fnAddUserView() {
|
|||||||
<input type="hidden" name="tr_cert" id="tr_cert" value = "${tr_cert}">
|
<input type="hidden" name="tr_cert" id="tr_cert" value = "${tr_cert}">
|
||||||
<input type="hidden" name="tr_url" id="tr_url" value = "${tr_url}">
|
<input type="hidden" name="tr_url" id="tr_url" value = "${tr_url}">
|
||||||
<input type="hidden" name="tr_add" id="tr_add" value = "${tr_add}">
|
<input type="hidden" name="tr_add" id="tr_add" value = "${tr_add}">
|
||||||
|
<input type="hidden" name="tr_ver" value = "V2">
|
||||||
<input type="hidden" name="mberNm" id="mberNm" value="">
|
<input type="hidden" name="mberNm" id="mberNm" value="">
|
||||||
<input type="hidden" name="moblphonNo" id="moblphonNo" value="">
|
<input type="hidden" name="moblphonNo" id="moblphonNo" value="">
|
||||||
<input type="hidden" name="mberId" id="mberId" value="">
|
<input type="hidden" name="mberId" id="mberId" value="">
|
||||||
|
|||||||
@ -129,6 +129,7 @@ function fnAddUserView() {
|
|||||||
<input type="hidden" name="tr_cert" id="tr_cert" value = "${tr_cert}">
|
<input type="hidden" name="tr_cert" id="tr_cert" value = "${tr_cert}">
|
||||||
<input type="hidden" name="tr_url" id="tr_url" value = "${tr_url}">
|
<input type="hidden" name="tr_url" id="tr_url" value = "${tr_url}">
|
||||||
<input type="hidden" name="tr_add" id="tr_add" value = "${tr_add}">
|
<input type="hidden" name="tr_add" id="tr_add" value = "${tr_add}">
|
||||||
|
<input type="hidden" name="tr_ver" value = "V2">
|
||||||
<input type="hidden" name="mberNm" id="mberNm" value="">
|
<input type="hidden" name="mberNm" id="mberNm" value="">
|
||||||
<input type="hidden" name="moblphonNo" id="moblphonNo" value="">
|
<input type="hidden" name="moblphonNo" id="moblphonNo" value="">
|
||||||
<input type="hidden" name="mberId" id="mberId" value="">
|
<input type="hidden" name="mberId" id="mberId" value="">
|
||||||
|
|||||||
@ -644,6 +644,7 @@
|
|||||||
<input type="hidden" name="tr_cert" id="tr_cert" value = "${tr_cert}">
|
<input type="hidden" name="tr_cert" id="tr_cert" value = "${tr_cert}">
|
||||||
<input type="hidden" name="tr_url" id="tr_url" value = "${tr_url}">
|
<input type="hidden" name="tr_url" id="tr_url" value = "${tr_url}">
|
||||||
<input type="hidden" name="tr_add" id="tr_add" value = "${tr_add}">
|
<input type="hidden" name="tr_add" id="tr_add" value = "${tr_add}">
|
||||||
|
<input type="hidden" name="tr_ver" value = "V2">
|
||||||
</form>
|
</form>
|
||||||
<form name="arsForm" method="post" action="#">
|
<form name="arsForm" method="post" action="#">
|
||||||
<input type="hidden" id="phoneNumber" name="phoneNumber" value = "">
|
<input type="hidden" id="phoneNumber" name="phoneNumber" value = "">
|
||||||
|
|||||||
@ -707,6 +707,7 @@
|
|||||||
<input type="hidden" name="tr_cert" id="tr_cert" value = "${tr_cert}">
|
<input type="hidden" name="tr_cert" id="tr_cert" value = "${tr_cert}">
|
||||||
<input type="hidden" name="tr_url" id="tr_url" value = "${tr_url}">
|
<input type="hidden" name="tr_url" id="tr_url" value = "${tr_url}">
|
||||||
<input type="hidden" name="tr_add" id="tr_add" value = "${tr_add}">
|
<input type="hidden" name="tr_add" id="tr_add" value = "${tr_add}">
|
||||||
|
<input type="hidden" name="tr_ver" value = "V2">
|
||||||
</form>
|
</form>
|
||||||
<form name="arsForm" method="post" action="#">
|
<form name="arsForm" method="post" action="#">
|
||||||
<input type="hidden" id="phoneNumber" name="phoneNumber" value = "">
|
<input type="hidden" id="phoneNumber" name="phoneNumber" value = "">
|
||||||
|
|||||||
@ -505,6 +505,7 @@ function changeValueWork(obj){
|
|||||||
<input type="hidden" name="tr_cert" id="tr_cert" value="">
|
<input type="hidden" name="tr_cert" id="tr_cert" value="">
|
||||||
<input type="hidden" name="tr_url" id="tr_url" value="">
|
<input type="hidden" name="tr_url" id="tr_url" value="">
|
||||||
<input type="hidden" name="tr_add" id="tr_add" value="">
|
<input type="hidden" name="tr_add" id="tr_add" value="">
|
||||||
|
<input type="hidden" name="tr_ver" value = "V2">
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<!-- 마이페이지 - 회원정보 변경 -->
|
<!-- 마이페이지 - 회원정보 변경 -->
|
||||||
|
|||||||
@ -218,6 +218,7 @@ function updateUserInfo(){
|
|||||||
<input type="hidden" name="tr_cert" id="tr_cert" value="">
|
<input type="hidden" name="tr_cert" id="tr_cert" value="">
|
||||||
<input type="hidden" name="tr_url" id="tr_url" value="">
|
<input type="hidden" name="tr_url" id="tr_url" value="">
|
||||||
<input type="hidden" name="tr_add" id="tr_add" value="">
|
<input type="hidden" name="tr_add" id="tr_add" value="">
|
||||||
|
<input type="hidden" name="tr_ver" value = "V2">
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<!-- 마이페이지 - 회원정보 변경 -->
|
<!-- 마이페이지 - 회원정보 변경 -->
|
||||||
|
|||||||
@ -304,6 +304,7 @@ function callTo() {
|
|||||||
<input type="hidden" id="tr_url" name="tr_url" value = "${certVO.tr_url}">
|
<input type="hidden" id="tr_url" name="tr_url" value = "${certVO.tr_url}">
|
||||||
<input type="hidden" id="tr_add" name="tr_add" value = "${certVO.tr_add}">
|
<input type="hidden" id="tr_add" name="tr_add" value = "${certVO.tr_add}">
|
||||||
<input type="hidden" id="tr_cert" name="tr_cert" value = "${certVO.tr_cert}">
|
<input type="hidden" id="tr_cert" name="tr_cert" value = "${certVO.tr_cert}">
|
||||||
|
<input type="hidden" name="tr_ver" value = "V2">
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<form id="levelForm" name="levelForm" method="post">
|
<form id="levelForm" name="levelForm" method="post">
|
||||||
|
|||||||
@ -97,6 +97,7 @@ function openMberSecessionInfo(key){
|
|||||||
<input type="hidden" id="tr_url" name="tr_url" value = "${certVO.tr_url}">
|
<input type="hidden" id="tr_url" name="tr_url" value = "${certVO.tr_url}">
|
||||||
<input type="hidden" id="tr_add" name="tr_add" value = "${certVO.tr_add}">
|
<input type="hidden" id="tr_add" name="tr_add" value = "${certVO.tr_add}">
|
||||||
<input type="hidden" id="tr_cert" name="tr_cert" value = "${certVO.tr_cert}">
|
<input type="hidden" id="tr_cert" name="tr_cert" value = "${certVO.tr_cert}">
|
||||||
|
<input type="hidden" name="tr_ver" value = "V2">
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<!-- ars 본인인증 Form -->
|
<!-- ars 본인인증 Form -->
|
||||||
|
|||||||
@ -704,6 +704,7 @@ function linkPage(pageNo){
|
|||||||
<input type="hidden" id="tr_url" name="tr_url" value = "${certVO.tr_url}">
|
<input type="hidden" id="tr_url" name="tr_url" value = "${certVO.tr_url}">
|
||||||
<input type="hidden" id="tr_add" name="tr_add" value = "${certVO.tr_add}">
|
<input type="hidden" id="tr_add" name="tr_add" value = "${certVO.tr_add}">
|
||||||
<input type="hidden" id="tr_cert" name="tr_cert" value = "${certVO.tr_cert}">
|
<input type="hidden" id="tr_cert" name="tr_cert" value = "${certVO.tr_cert}">
|
||||||
|
<input type="hidden" name="tr_ver" value = "V2">
|
||||||
</form>
|
</form>
|
||||||
<form name="listForm" action="<c:url value='/web/user/mberSecureLogin.do'/>" method="post">
|
<form name="listForm" action="<c:url value='/web/user/mberSecureLogin.do'/>" method="post">
|
||||||
<input name="pageIndex" type="hidden" value="<c:out value='${mberCertLoginLogVO.pageIndex}'/>"/>
|
<input name="pageIndex" type="hidden" value="<c:out value='${mberCertLoginLogVO.pageIndex}'/>"/>
|
||||||
|
|||||||
@ -27,7 +27,7 @@
|
|||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<br><br>
|
<%-- <br><br>
|
||||||
[복호화 후 수신값] <br>
|
[복호화 후 수신값] <br>
|
||||||
<br>
|
<br>
|
||||||
<table cellpadding=1 cellspacing=1>
|
<table cellpadding=1 cellspacing=1>
|
||||||
@ -120,6 +120,6 @@
|
|||||||
rec_cert : ${kmcVO.recCert}<br>
|
rec_cert : ${kmcVO.recCert}<br>
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
<a href="http://www.munjaon.co.kr/publish/kmc/kmcis_web_sample_step01.jsp">[다시 테스트]</a>
|
<a href="http://www.munjaon.co.kr/publish/kmc/kmcis_web_sample_step01.jsp">[다시 테스트]</a> --%>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@ -863,6 +863,7 @@ function nameChk(target){
|
|||||||
<input type="hidden" id="tr_url" name="tr_url" value = "${tr_url}">
|
<input type="hidden" id="tr_url" name="tr_url" value = "${tr_url}">
|
||||||
<input type="hidden" id="tr_add" name="tr_add" value = "${tr_add}">
|
<input type="hidden" id="tr_add" name="tr_add" value = "${tr_add}">
|
||||||
<input type="hidden" id="tr_cert" name="tr_cert" value = "${tr_cert}">
|
<input type="hidden" id="tr_cert" name="tr_cert" value = "${tr_cert}">
|
||||||
|
<input type="hidden" name="tr_ver" value = "V2">
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<!-- ars 본인인증 Form -->
|
<!-- ars 본인인증 Form -->
|
||||||
|
|||||||
@ -408,6 +408,7 @@ function guideTab(obj){
|
|||||||
<input type="hidden" id="tr_url" name="tr_url" value = "${tr_url}">
|
<input type="hidden" id="tr_url" name="tr_url" value = "${tr_url}">
|
||||||
<input type="hidden" id="tr_add" name="tr_add" value = "${tr_add}">
|
<input type="hidden" id="tr_add" name="tr_add" value = "${tr_add}">
|
||||||
<input type="hidden" id="tr_cert" name="tr_cert" value = "${tr_cert}">
|
<input type="hidden" id="tr_cert" name="tr_cert" value = "${tr_cert}">
|
||||||
|
<input type="hidden" name="tr_ver" value = "V2">
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<!-- ars 본인인증 Form -->
|
<!-- ars 본인인증 Form -->
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user