728x90
반응형
1. 암호 스크립트 다운로드
- method get 선택
- URL(https://cdnjs.cloudflare.com/ajax/libs/jsrsasign/10.2.0/jsrsasign-all-min.js)입력
- Tests 에 globals 로 데이터 저장하는 코드 추가(collector 를 사용해도 상관 없습니다.)
- Send
- 그림 1-2 ] Environments > Globals 선택 후 스크립트가 정상적으로 적용된 것 확인
#그림 1-1 코드
더보기
pm.test("Status code should be 200", function () {
pm.response.to.have.status(200)
pm.globals.set("jsrsasign_code", responseBody)
});
2. 서버에서 publicKey 받기(프로젝트 별 서버구성 필요)
- 그림 2-1] Tests에 collection 에 저장하는 코드 추가
- PublicKey 를 요청
- 그림 2-2] Collections > 테스트(컬렉션 명) > Edit > Variables 선택 후 PublicKey가 정상적으로 추가된 것을 확인
#그림 2-1 코드
더보기
var jsonData = JSON.parse(responseBody);
pm.collectionVariables.set("pubKey", jsonData.data.publicKey);
3. RSA로 메개변수 암호화
- 그림 3-1] Request Body 작성
- 그림 3-2] Pre-request Script 작성
- Send
- 그림 3-3] Send 후 Collections > 테스트(컬렉션 명) > Edit > Variables 선택 후 값들을 확인하면 정상적으로 암호화가 된것으 확인 할 수 있음
#그림 3-2 코드
더보기
var pubkeyFromServer = pm.collectionVariables.get("pubKey");
console.log(pubkeyFromServer);
const pubkey = `
-----BEGIN PUBLIC KEY-----
${pubkeyFromServer}
-----END PUBLIC KEY-----
`;
var navigator = {}; //fake a navigator object for the lib
var window = {}; //fake a window object for the lib
eval(pm.globals.get('jsrsasign_code'))
const id = 'id'
const pwd = 'pwd'
let keyObj = KEYUTIL.getKey(pubkey);
let encId = KJUR.crypto.Cipher.encrypt(id, keyObj);
let encPwd = KJUR.crypto.Cipher.encrypt(pwd, keyObj);
var base64Id = hextob64(encId);
var base64Pwd = hextob64(encPwd);
pm.collectionVariables.set("base64Id", base64Id);
pm.collectionVariables.set("base64Pwd", base64Pwd);
반응형
댓글