오늘은 대칭키와 비대칭키를 이용한 암/복호화, user-service application.yml의 설정 일부를 config-service으로 옮긴 뒤 config-service의 설정을 사용하게 할 것이다.
그리고 설정파일의 정보를 암호화할 것이다
1. 암호화의 종류
1). Symmetric Encryption (대칭키 : 암호화, 복호화 키가 동일)
- Using the same key
2). Asymmetric Encryption (비대칭키 : 암호화, 복호화 키가 다름)
- Private and Public Key : 암호화 or 복호화 할 때 Private 키와 Public 키를 사용함(중복 안되게)
- Using Java keytool : 자바에서 제공하는 암호화, 복호화 인터페이스
2. 암호화/복호화
1). 대칭키
(1). 암호화
// config-service -> bootstrap.yml
encrypt:
key: abcdefg5654
(2). 복호화
config-service -> application.yml에 있는 search-locations 폴더로 이동한 뒤
name이 붙은 .yml파일 [user-service.yml]을 읽어오고
active: dev를 사용하면 [user-service-dev.yml]을 불러온다
// user-service -> bootstrap.yml
spring:
cloud:
config:
uri: http://127.0.0.1:8888
name: user-service
# profiles:
# active: dev
DB 비번 암호화 한 뒤 user-service 설정파일에 등록
config-server에 설정된 폴더에 있는 user-service.yml에 DB 정보를 옮긴 뒤 비밀번호에 암호화 값을 입력
password: '{cipher}5e9e9718fbf40c6838248cb7ff6e329f6bc329193d0b79349de8ff70d38c2f79'
문제없이 DB에 접속된다
2). 비대칭키
(1). 키 생성
(2). 키 정보
(2). Public Key 추출
(2). Public Key를 .jks로 생성
(3). 공개키, 비공개키 생성 완료
(4). 비대칭키 암호화
(5). 비대칭키 복호화
(5). 비대칭키 암호화 테스트
gateway-service -> bootstrap.yml
spring:
cloud:
config:
uri: http://127.0.0.1:8888
name: ecommerce
ecommerce.yml
token:
expiration_time: 864000000
secret: user_token_native_application
gateway:
ip: 127.0.0.1
ecommerce.yml
token:
expiration_time: 864000000
secret: '{cipher}AQAuwBMyHFEV48g6WqKETRy4OmhnnVr5Mykut9yZpM+Awe6Io07bcboMvUSG2EQeRlKMfNdFU220ilVBhVQqn2kuQTcBRfHDkxYPIIys0kZ0pI3LRC3OhFuUhzxHEmmBqcL2kq7tjncamff/Y4IC2odnwx4eq04qYKgCvTUwXN7Wq8L4Q5zdP58onCSrpCvNA6945a+zkReYlVnvojPARFioG3CxC5y8PVjfNVFp95IVOHUsegOay11qb40wd49UdOxuFtBTP8vD4l6wbR5g3KLt+sQDX/92n85Fn8js9MR3ZqeF4HhlLRMVLAxaQmf64sjyFTWxgRxTLvwo+URVamrlwsh0R8T1rFv3x4l0iVdK7VETfiWmN16pAjiJlGQLMNOGYEKRL9ybU1clmgs9vShh'
gateway:
ip: 127.0.0.1
잘 적용되었다.
'Java > Spring Boot' 카테고리의 다른 글
[MSA] Spring Cloud로 MSA를 개발해보자 9편 [서비스간 통신-2] (0) | 2024.08.30 |
---|---|
[MSA] Spring Cloud로 MSA를 개발해보자 8편 [서비스간 통신-1] (0) | 2024.08.29 |
[MSA] Spring Cloud로 MSA를 개발해보자 6편 [Spring Cloud Bus] (0) | 2024.08.27 |
[MSA] Spring Cloud로 MSA를 개발해보자 5편 [Config] (0) | 2024.08.26 |
[MSA] Spring Cloud로 MSA를 개발해보자 4편 [JWT 인증] (0) | 2024.08.25 |