티스토리 뷰

반응형
  1. KeyTool 생성하기
keytool 
-genkeypair # Key를 생성하겠다
-alias apiEncryptionKey # 별칭을 apiEncryptionKey
-keyalg RSA # 알고리즘은 RSA방식
-dname 
		"CN=Geumbit Kim,     # 인증서의 주요 식별 이름
		OU=API Development,  # 소속 부서
		O=gbitkim,           # 소속 기관
		L=Seoul, ST=KR, C=KR" 
-keypass "gbitkim_msa" # 비밀키는 gbitkim_msa 이는 -storepass와 같게해야함
												# 아래 jks파일로 만들었기에
-keystore apiEncryptionKey.jks # Key를 생성할때 apiEncryptionKey.jks를 생성하겠다.
-storepass "gbitkim_msa"
keytool -genkeypair -alias apiEncryptionKey -keyalg RSA -dname "CN=Geumbit Kim, OU=API Development, O=gbitkim, L=Seoul, ST=KR, C=KR" -keypass "gbitkim_msa" -keystore apiEncryptionKey.jks -storepass "gbitkim_msa"

 

다음과 같이 apiEncryption.jks 파일이 생성됨을 알 수 있다.

해당 정보를 확인해보자

keytool -list -keystore apiEncryptionKey.jks -v
geumbit@gimgeumbich-ui-MacBookPro tools % keytool -list -keystore apiEncryptionKey.jks -v
키 저장소 비밀번호 입력:
키 저장소 유형: PKCS12
키 저장소 제공자: SUN

키 저장소에 1개의 항목이 포함되어 있습니다.

별칭 이름: apiencryptionkey
생성 날짜: 2023. 5. 29.
항목 유형: PrivateKeyEntry
인증서 체인 길이: 1
인증서[1]:
소유자: CN=Geumbit Kim, OU=API Development, O=gbitkim, L=Seoul, ST=KR, C=KR
발행자: CN=Geumbit Kim, OU=API Development, O=gbitkim, L=Seoul, ST=KR, C=KR
일련 번호: c9894b98749109ce
적합한 시작 날짜: Mon May 29 22:43:26 KST 2023 종료 날짜: Sun Aug 27 22:43:26 KST 2023
인증서 지문:
	 SHA1: 44:5B:F9:0A:F6:F2:FF:FE:4C:5C:87:BE:36:B2:AE:C5:8F:EA:CC:24
	 SHA256: 03:88:9C:C3:AA:55:6B:45:20:CE:4A:DC:E7:F1:1F:54:1F:A2:FB:E1:10:CF:C3:17:B3:0A:F7:0C:54:86:C8:A1
서명 알고리즘 이름: SHA256withRSA
주체 공용 키 알고리즘: 2048비트 RSA 키
버전: 3

확장:

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 06 65 F1 8F 3A 6F F2 DE   28 65 4A F1 4F 6D 50 B4  .e..:o..(eJ.OmP.
0010: 83 1A DF 4C                                        ...L
]
]

*******************************************
*******************************************

Public Key 관련 파일 생성

## 인증서 만들기
keytool -export -alias apiEncryptionKey -keystore apiEncryptionKey.jks -rfc -fil
e trustServer.cer

## 공개키 만들기
keytool -import -alias trustServer -file trustServer.cer -keystore publicKey.jks
## 인증서와 관련된 공개키를 생성하고 저장하는 작업
keytool 
	-import # 인증서를 import [개인키와 인증서]
	-alias trustServer #별칭 지정
	-file trustServer.cer #import할 인증서 파일의 경로와 파일
	-keystore publicKey.jks #새로운 Keystore 파일 생성
## 이미 존재하는 인증서의 공개키를 TrustStore에 등록
keytool 
	-importcert # 공개키 import 가능
	-alias elastic
	-file D:\\Dev\\certs_55\\http_ca.crt #import할 인증서 파일의 경로와 파일
	-keystore "C:\\Program Files\\Java\\jdk-11.0.16/lib/security/cacerts" 
	-storepass changeit

결과 파일

apiEncryptionKey.jks # 비밀키
publicKey.jks        # 공개키
trustServer.cer      # 인증서

두개의 Key정보를 확인하여 비교해보자

keytool -list -keystore apiEncryptionKey.jks
키 저장소 유형: PKCS12
키 저장소 제공자: SUN

키 저장소에 1개의 항목이 포함되어 있습니다.

apiencryptionkey, 2023. 5. 29., PrivateKeyEntry, ## 비공개키
인증서 지문(SHA-256): 03:88:9C:C3:AA:55:6B:45:20:CE:4A:DC:E7:F1:1F:54:1F:A2:FB:E1:10:CF:C3:17:B3:0A:F7:0C:54:86:C8:A1
keytool -list -keystore publicKey.jks
키 저장소 유형: PKCS12
키 저장소 제공자: SUN

키 저장소에 1개의 항목이 포함되어 있습니다.

trustserver, 2023. 5. 29., trustedCertEntry, ## 공개키
인증서 지문(SHA-256): 03:88:9C:C3:AA:55:6B:45:20:CE:4A:DC:E7:F1:1F:54:1F:A2:FB:E1:10:CF:C3:17:B3:0A:F7:0C:54:86:C8:A1
geumbit@gimgeumbich-ui-MacBookPro tools %

이 후에 config-service - bootstrap.yml 파일에 아래와 같이 추가한다.

 

encrypt:
  key-store:
    location: file://${user.home}/study/tools/apiEncryptionKey.jks
    password: ~
    alias: apiEncryptionKey

 

기존 8888이 바라보고 있던 msa-config/아래 파일에 데이터 확인

 

 

application.yml 파일 일부 적용 및 재기동

token:
  expiration_hours: 24
  secret: "{cipher}AQBj/FfJ8zIanJkmPe7MpwzM8HJc/eF4ziysueAa+hrj3u1at+UitThsn8J9WEhFYH7N0OkyMA8W8LPJWQvsD87bbVk1fJMTIU5wn6f3OgsZCQ10oC7SwIUr6u/OBy0/LGLl0CSEWf69YNA44WHxVgCz5Qhm7mh1pl4uW9nOMLCxvdj/jO03/UGOF6rsxvune1pi5Lsq/JPY4jr+SCU+AkkfGDauNqTBS0+L4EXM97QwZFFMeTRXsfYDaJMcZBre88thBh6UCBodYnen819ss9Ts69zVkzTfvabYAvcgFn9FeglESaOpv2+0GxhQuVjwhViTQU2cbMqKVu5MHS+E/JKN8siLivyXi/lL2Hf0gOf0BLnuMYJKDKu74uhnt0VRi9A="

{cipher}~의 경우 암호화되어있음을 감지, 8888 포트 서버에 RSA 관련 비공개 jks 등록

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함