Mega Process
시설과 qcheck 사이는 https로 REST통신을 한다. 그리고 전송하는 body 데이터는 기본적으로 AES256알고리즘으로 암호화하여 전송하도록 한다. 그리고 헤더에는 반드시 토큰을 발급받아 x-access-token이라는 키에 담아서 전송하도록 한다.
API 적용개발 가이드 다운로드시설과 qcheck 사이는 https로 REST통신을 한다. 그리고 전송하는 body 데이터는 기본적으로 AES256알고리즘으로 암호화하여 전송하도록 한다. 그리고 헤더에는 반드시 토큰을 발급받아 x-access-token이라는 키에 담아서 전송하도록 한다.
API 적용개발 가이드 다운로드위 이미지는 postman을 활용한 테스트 화면이며, 실제 시스템들은 HttpClient 같은 유틸리티를 활용하여 request 를 보내는 모듈을 개발하면 됩니다.
샘플로 제공한 CryptoUtil.java , CryptoTest.java 참조 및 활용하세요.
// 복호화
String strInJson = CryptoUtil.decryptAES256(test, strUid);// 서비스 호출하기 위하여 param을 Map 에 담아서 활용한다.
ObjectMapper mapper = new ObjectMapper();// Map -> JSON으로
org.json.simple.JSONObject obj = JsonUtils.getJsonStringFromMap(map);// 문자열을 encrypt 한 후 리턴
String encrypted = CryptoUtil.encryptAES256(strRsltJson, strUid);암복화에는 반드시 시설별 UID를 key로 진행하도록 합니다. qcheck에서는 수신받은 token에서 해당 UID를 활용하여 암 복호화 합니다.
encrypted 예)
c5xcqhDqk2sMau5/tQIVLsfuML+sUefH48qi/4CFFWVyVReIEus3za0lUmy+gUcBx7jS4oUvntRCmN2k5NHtr5fO8Z82UD2+J23gNE3OKiJV3KtJ+mXTRSrunfydqobPVrqTwe+pMXQYkYXsVw7iy4h6nb3lO8sN9ZvVUTwB2XwCijCXGY/inAhO1AIskoBWYtO31AaH4KjYe4Zq9H/GTVcmyt7jXUELtszHzYP6mA9e49aE/kn1mdodBPqJVQaRh/UTzOM2GeSVZGc7gCzmhhH2KK9UJsMS9SL7MOdvRMDaXAG/IZyuPw6mAto6P/E4mpUWO4tGDSNw+EQAmXSa3yQzsxwoDaxJc5gfDs0VlbR8kqVZ9bJuTs0yhUurxudPB/LF9Q==시설별 UID를 key로 암호화 하기때문에 같은 문자열이라도 각 시설별로 암호화 결과값이 상이합니다.
// 입력값들 처리
inputString.put("carNumber", userRdtnVO.getCarNo());// json 암호화
// inputString을 String으로 변환 예) inputString = “{\“key\”:\”value\”}”;
String encrypted = CryptoUtil.encryptAES256(inputString.toString(), UID);// json 발송
OutputStreamWriter os = new OutputStreamWriter(con.getOutputStream(encrypted));Json 암호화 처리
String encrypted = CryptoUtil.encryptAES256(inputString.toString(), UID);