본문 바로가기

MSA

24. Java Cryptography Extension(JCE) 암호화 적용(비대칭키)

1. key를 관리할 디렉토리 생성후 java keytool을 활용한 키 생성

keytool path 확인

2. genkeypair을 이용한 private & public key 생성

genkeypair에 의해 생성된 jks 키 확인

keytool -genkeypair -alias jceKey -keyalg RSA -dname "CN=Country Name, OU=Organization Unit, O=Organization.co.kr, L=Seoul, C=KR" -keypass "test password" -keystore jceKey.jks -storepass "test password"

genkeypair: 키페어 생성,  keyalg : 알고리즘

3. key 상세확인(list)

keytool -list -keystore jecKey.jks -v

4. 공개키 key 꺼내기

4-1. 인증서 파일 생성하기

keytool -export -alias jceKey -keystore jceKey.jks -rfc -file publicCert.cer

4-2. 공개키 생성하기

keytool -import -alias publicCert -file publicCert.cer -keystore publicKey.jks

4-3. 생성된 공개키 확인

keytool -list -keystore publicKey.jks -v

4-4. Private & Public 키 비교

인증서 지문이 같은 비대칭키로 확인

5. Config Sever에 적용 후 재기동

 

재기동시 기존 프로세스의 비정상 종료로 강제로 port process kill

5. 비대칭키 encryption 확인(대칭키 보다 훨씬 복잡한 response body)

1234를 비대칭 암호화
1234의 비대칭 암호화를 복호화

6. micro service의 암호 부분에 적용

7. web 브라우저를 통해서 비대칭 암호화도 정상적으로 복호화를 하는지 확인(1234로 잘 표현됨)