Linux 톰캣 관련 포스팅 목록
2021.12.03 - [Linux/Tomcat] - Linux 톰캣 HTTPS 적용 - 키스토어 생성하기(keytool jks)
2020.07.13 - [Linux/Tomcat] - 리눅스 우분투 tomcat 7 설치(Ubuntu, Tomcat, Install)
2020.07.15 - [Linux/Tomcat] - 리눅스 우분투 tomcat 7 80 포트 변경(ubuntu, tomcat, port)
리눅스 키스토어 파일에서 키 정보를 추출하여 p12 파일 생성
안녕하세요.
이전 포스팅에서는 톰캣 서버에 HTTPS를 적용하기 위해 필요했던 키스토어 파일을 생성하는 방법에 대해 알아봤었습니다.
오늘은 그 때 만들었던 키스토어 파일 즉, jks 파일을 이용하여 p12 확장자 파일로 변환하고 SSL 인증서를 생성하는 방법에 대해 알아보겠습니다.
공개키 인프라(PKI)를 사용하는 이유에 대해서는 평문의 통신이 중간자 공격 등에 노출되면 사용자들의 주요 정보가 탈취될 수 있기 때문이라고 말씀드렸습니다.
우리가 만들었던 키스토어 파일은 우리의 고유 공개키, 개인키 쌍이 저장되어있는 키 저장소 파일입니다. 따라서 키에도 비밀번호를 설정하였지만 키 저장소에도 따로 비밀번호가 있었던 이유는 보안성을 높이기 위함입니다.
외부 공격에 대응하기 위해 키로 평문을 암호화하여 통신하는것이 HTTPS이지만 이 키가 노출되면 또다시 위험이 생기겠죠?
따라서 키를 안전하게 저장하는 것도 중요합니다.
자 그렇다면 우리가 만든 키스토어 파일은 어떻게 이루어진 파일일까요?
키스토어 파일에는 개인키 공개키 모두 저장되어있는 파일입니다. 하지만 키 정보 외에도 다양한 신분정보를 포함하고 있습니다. 예를 들어 성명, 거주지, 조직단위 등입니다.
따라서 키만 따로 관리하기 위해 p12 파일로 변환하여 안전한 장소에 저장합니다.
그리고 이 공개키를 사용하여 인증서 형태(pem) 파일로 변환이 가능합니다.
오늘 포스팅에서는 키스토어 파일에서 키를 추출하여 p12 파일로 변환하는 방법에 대해 알아보도록 하겠습니다.
키스토어 파일 생성 방법은 아래 포스팅을 참고하시면 됩니다.
2021.12.03 - [Linux/Tomcat] - Linux 톰캣 HTTPS 적용 - 키스토어 생성하기(keytool jks)
키스토어 파일로 P12 파일 생성하기
$ cd ~/keystore_example
$ keytool -importkeystore -srckeystore https_keystore.jks -destkeystore https_keystore.p12 -deststoretype PKCS12
키 저장소 https_keystore.jks을(를) https_keystore.p12(으)로 임포트하는 중...
대상 키 저장소 비밀번호 입력: test1234
새 비밀번호 다시 입력: test1234
소스 키 저장소 비밀번호 입력: test1234
https_keystore 별칭에 대한 항목이 성공적으로 임포트되었습니다.
임포트 명령 완료: 성공적으로 임포트된 항목은 1개, 실패하거나 취소된 항목은 0개입니다.
$ ls
https_keystore.jks https_keystore.p12
라인 설명
1: 이전 키스토어 생성 포스팅에서 다뤘던 작업 폴더 경로로 이동
2: keytool 명령을 통해 키스토어 파일에서 키 정보만 추출하여 p12 파일로 생성한다. 각 인자는 아래와 같다.
-importkeystore: 키스토어 파일을 로드하는 명령어
-srckeystore https_keystore.jks: 키를 추출할 키스토어 파일 경로. 본 예제에서는 기존 포스팅에서 다뤘던 "https_keystore.jks" 파일을 사용
-destkeystore https_keystore.p12: 추출된 키를 저장할 p12 파일명. 본 예제에서는 "https_keystore.p12" 파일명으로 지정
-deststoretype PKCS12: 추출한 키 저장 형식. 본 예제에서는 p12 형식으로 지정
4: p12 파일의 비밀번호를 지정한다. 기존 키스토어 파일의 비밀번호와 동일하게 "test1234" 로 지정하였다.
5: 4번 항목 비밀번호를 재입력한다.
6: 기존 키스토어 파일의 비밀번호를 입력한다.
10: 만들어진 p12 파일을 ls 명령어로 확인한다.
p12 파일 내용 확인
$ cd ~/keystore_example
$ keytool -list -v -keystore https_keystore.p12
키 저장소 비밀번호 입력: test1234
라인 설명
2: 생성한 p12 파일 내용을 keytool 명령어로 확인합니다.
마무리
오늘은 톰캣 서버에 HTTPS 적용에 필요한 P12 파일을 생성하는 방법에 대해 알아보았습니다.
키스토어 파일을 P12 파일로 변환하는 방식입니다.
이제 다음 포스팅에서 P12 파일을 PEM 인증서로 변환하는 방법에 대해 알아보겠습니다.
관련 글
Linux 톰캣 관련 포스팅 목록
2021.12.03 - [Linux/Tomcat] - Linux 톰캣 HTTPS 적용 - 키스토어 생성하기(keytool jks)
2020.07.13 - [Linux/Tomcat] - 리눅스 우분투 tomcat 7 설치(Ubuntu, Tomcat, Install)
2020.07.15 - [Linux/Tomcat] - 리눅스 우분투 tomcat 7 80 포트 변경(ubuntu, tomcat, port)