일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- reactjs
- 자바
- 개발
- 개발공부
- 쿼리
- Spring
- 자바스크립트
- React
- 컴포넌트
- 데이터베이스
- 보안취약점
- DATABASE
- table
- Intellij
- Vue
- sql
- 리액트
- mssql
- springboot
- JS
- jdk
- restapi
- 스프링부트
- EXTJS
- crud
- component
- java
- GIT
- 스프링
- javascript
- Today
- Total
준준의 기록일지
[SSL] 톰캣에 SSL 적용시 Cannot Recover key 에러 본문
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
톰캣에 SSL을 적용하려면 SSL업체에서 받은 key파일(pfx,crt 등등)을 jks, keystore로 변경해준 뒤 아래와 같이 입력해야 한다.
<Connector port="443"
protocol="HTTP/1.1"
SSLEnabled="true"
maxThreads="150"
scheme="https"
secure="true"
clientAuth="false"
keystoreFile="C:\Program Files\Apache Software Foundation\Tomcat 8.5\ssl\{키스토어이름}.jks"
keystorePass="{비밀번호}"
sslEnabledProtocols="TLSv1.1,TLSv1.2"
ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
,TLS_RSA_WITH_AES_128_CBC_SHA256
,TLS_RSA_WITH_AES_128_CBC_SHA
,TLS_RSA_WITH_AES_256_CBC_SHA256
,TLS_RSA_WITH_AES_256_CBC_SHA"
/>
사내 서버에 적용한 뒤 확인해 보니 톰캣 부팅시 log파일에 Cannot recover key 오류가 블로그와 같이 동일하게 발생하였다.
참고한 블로그에서 확인해보니, keystore password와 key password가 서로 달라서 나타나는 증상이라고 한다.
key password는 업체에서 제공해주는 비밀번호로 keystore password와 동일하게 적용하려니 6자 이하라 거기에 맞춰서 적용을 할 수도 없었다. (너무 다행히도, 해당 블로그와 동일한 상황..)
keytool -storepasswd -new %newpassword% -keystore %YourKeyStore%.jks - keystore password 변경 keytool -keypasswd -alias %MyKeyAlias% -new %newpassword% -keystore KeyStore.jks - key password 변경 |
%MyKeyAlias%는 별칭으로 모를 경우 jks keystore 정보를 확인해보면 alias정보가 있다.
key와 keystore의 비밀번호를 맞춰주니 정상적으로 ssl이 적용되었다.
여기서 헤깔렸던 부분은 pfx파일의 key를 예시:1234에서 신규 비밀번호로 변경해줘도 동일하게 pfx -> jks로 변경해줄때 필요한 source keystore 비밀번호는 예시인 1234와 동일했다.
정확한 확인이 필요하겠지만, pfx의 key 비밀번호는 실제 pfx에 접근하기 위한 비밀번호가 아닌 개인키와 같은 비밀번호로 보인다.
즉, pfx의 개인키 정보와 jks의 비밀번호를 동일하게 해줘야 하는 것.
pfx의 keystore 비밀번호와는 무관하다.
'네트워크' 카테고리의 다른 글
Tomcat SSL 적용 + HTTP METHODS제한 (0) | 2021.08.23 |
---|---|
[네트워크] request.getHeader, getRemoteAddr (0) | 2021.01.25 |
[Jmeter] 웹서버 성능 테스트 (0) | 2021.01.25 |
[네트워크] 게이트웨이(Gateway)란 무엇인가 (0) | 2021.01.08 |