Linux 톰캣 관련 포스팅 목록
2021.12.06 - [Linux/Tomcat] - Linux 톰캣 HTTPS 적용하기
2021.12.05 - [Linux/Tomcat] - Linux 톰캣 HTTPS 적용 - P12 파일로 PEM 파일 생성하기(keytool pem)
2021.12.04 - [Linux/Tomcat] - Linux 톰캣 HTTPS 적용 - 키스토어로 P12 파일 생성하기(keytool p12)
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)
리눅스 PEM(인증서) 파일을 P12 파일로 변환하기
안녕하세요.
오늘은 이전 톰캣 서버에 HTTPS 를 적용하는 과정에서 생성한 인증서 파일 변환 방법에 대해 알아보도록 하겠습니다.
P12 파일은 키스토어 파일 형식과 비슷한 파일입니다. 키를 포함하고 있는 파일이라 생각하시면 되겠습니다.
우리가 마지막으로 생성한 파일은 PEM 즉, 서버 인증서 파일입니다.
이 인증서 파일은 openssl 명령을 이용하여 p12 형식의 파일로 변환이 가능합니다.
키저장소 파일부터 시작하여 p12, pem 등 많은 파일들이 있지만 사실 내용은 다 비슷하지만 형식이 다르다고 생각하시면 될 것 같습니다.
PKI 구조에서 공개키, 개인키 쌍이 존재합니다. 이 쌍은 서로 암호화, 복호화를 할 수 있는 유일한 키입니다. 예를 들어 공개키로 암호화한 경우 개인키로 복호화할 수 있으며 그 반대의 경우도 있죠.
따라서 이전 포스팅에서 다뤘던 내용처럼 다른 사람과 통신할 때 상대방의 공개키로 암호화하여 인터넷에 암호문을 공개해도 그 사람만 가지고 있는 개인키가 없다면 복호화가 불가능합니다.
가능할지라도 엄청나게 ... 정말 엄청난 수고와 시간이 필요합니다.
그래서 HTTP 평문 메시지 통신을 사용하면 안 되고 HTTPS 암호화 통신을 사용해야 하는 이유입니다.
자 그러면 HTTPS 프로토콜의 보안적인 측면에서 중요성은 여기까지하고 본격적으로 openssl 바이너리 명령을 통해 pem 파일을 p12 형식으로 변환하는 방법에 대해 알아보겠습니다.
openssl 설치 방법 또는 키스토어, p12, pem 파일 생성과정을 모르신다면 이전 포스팅을 참고해주세요.
2021.12.05 - [Linux/Tomcat] - Linux 톰캣 HTTPS 적용 - P12 파일로 PEM 파일 생성하기(keytool pem)
pem 파일로 p12 파일 생성하기
$ cd ~/keystore_example
$ openssl pkcs12 -export -out test.p12 -in https_keystore.pem
Enter pass phrase for https_keystore.pem: test1234
Enter Export Password: test1234
Verifying - Enter Export Password: test1234
$ ls
https_keystore.jks https_keystore.p12 https_keystore.pem test.p12
라인 설명
1: 이전 포스팅에서 생성했던 작업 경로로 이동합니다.
2: openssl 명령을 통해 기존에 만들었던 pem 파일로 p12 파일을 생성합니다. 각 인자는 아래와 같습니다.
openssl pkcs12: pccs12 형식 명령 옵션
-export: p12 파일을 내보내는 옵션
-out test.p12: 생성된 p12 파일명과 경로. 본 예제에서는 "test.p12" 이름으로 생성하였다.
-in https_keystore.pem: p12 파일을 생성하기 위해 필요한 pem 파일 경로. 본 예제에서는 기존 포스팅에서 생성한 "https_keystore.pem" 파일을 사용하였다.
3-5: pem 파일의 비밀번호인 "test1234" 를 입력합니다.
7: 생성된 test.p12 파일을 확인하기위해 ls 명령을 사용합니다.
마찬가지로 p12 파일 내용을 확인해보자
$ cd ~/keystore_example
$ keytool -list -v -keystore test.p12
키 저장소 비밀번호 입력: test1234
라인 설명
1: 이전 p12 파일 생성 포스팅에서 다뤘던 keytool의 -list 옵션을 사용합니다.
마무리
오늘은 이전 포스팅들에서 다뤘던 pem 파일로 p12 파일을 생성하는 방법에 대해 알아보았습니다.
또한 keytool 명령을 통해 p12파일 내용도 확인했습니다.큰 문제없이 손쉽게 파일 변환이 가능한 것을 알 수 있었습니다.다음 포스팅에서는 p12 파일 형식에서 jks 형식으로 변환하는 방법에 대해 알아보도록 하겠습니다.
관련 글
Linux 톰캣 관련 포스팅 목록
2021.12.06 - [Linux/Tomcat] - Linux 톰캣 HTTPS 적용하기
2021.12.05 - [Linux/Tomcat] - Linux 톰캣 HTTPS 적용 - P12 파일로 PEM 파일 생성하기(keytool pem)
2021.12.04 - [Linux/Tomcat] - Linux 톰캣 HTTPS 적용 - 키스토어로 P12 파일 생성하기(keytool p12)
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)