스프링 부트 시 TLS 1.2를 활성화하려면 어떻게 해야 합니까?
Spring-boot 1.2.1의 Tomcat에서 TLS 1.2를 활성화하려고 합니다.SSL 핸드쉐이크 오류로 인해 Android 5.0이 기본 SSL 설정에 연결하지 못했습니다.Android 4.4, iOS, Firefox 및 Chrome은 모두 기본 버전에 연결합니다.Android 5.0에서 지원되는 TLS 프로토콜과 스프링 부트 Tomcat 기본값(TLS v1?)이 일치하지 않기 때문이라고 생각합니다.
이 application.properties 설정을 변경하고 싶습니다.
server.ssl.protocol=TLS
하지만 다른 허용 가능한 문자열은 찾지 못했습니다(혹은 있는 경우).spring boot github에서 protocol을 검색해도 열거형이 없습니다.「TLSv1.2」를 시험해 보았습니다만, 효과가 없는 것 같습니다.
application.properties의 현재 SSL 구성은 다음과 같습니다.
server.ssl.key-store = chainedcertificates.p12
server.ssl.key-store-password = secret
server.ssl.key-store-type = PKCS12
스프링 부트에서는 TLS 1.2를 이노블로 만들려면 어떻게 해야 하나요?
만약 문제가 된다면, 저는 Java 1.7을 사용하고 있습니다.이 문서에서는 TLS 1.2를 지원해야 한다고 되어 있는 것 같습니다.
Tomcat 8은 지원 대상인 것 같습니다.스프링 부트에서 어떤 버전이 실행되고 있는지 정확히 확인하는 방법을 잘 모르겠습니다.
스프링 부팅에 포함된 기본 암호로 인해 SSL 핸드셰이크 오류가 발생할 수 있습니다.암호 세트를 정의하는 것이 좋습니다.비슷한 문제가 있었습니다.이 문제를 수정하는 방법은 발신자의 SSLScan을 사용하여 시스템을 스캔하여 일치하는 것이 있는지 확인하는 것이었습니다.이를 통해 일치하는 암호 목록이 없다는 것을 알 수 있었고 지원해야 할 암호 목록을 정의하는 데 도움이 되었습니다.
SSLScan을 사용하면 스프링부트에서 사용되는 기본 암호는 다음과 같습니다.
Preferred TLSv1.2 128 bits ECDHE-RSA-AES128-GCM-SHA256 Curve P-256 DHE 256
Accepted TLSv1.2 128 bits ECDHE-RSA-AES128-SHA256 Curve P-256 DHE 256
Accepted TLSv1.2 128 bits ECDHE-RSA-AES128-SHA Curve P-256 DHE 256
Accepted TLSv1.2 128 bits DHE-RSA-AES128-GCM-SHA256 DHE 1024 bits
Accepted TLSv1.2 128 bits DHE-RSA-AES128-SHA256 DHE 1024 bits
Accepted TLSv1.2 128 bits DHE-RSA-AES128-SHA DHE 1024 bits
TLS 1.2 를 유효하게 해, 암호 리스트를 정의하려면 , 다음의 순서에 따릅니다.
#enable/diable https
server.ssl.enabled=true
#ssl ciphers
server.ssl.ciphers=TLS_RSA_WITH_AES_128_CBC_SHA256, INCLUDE_ANY_OTHER_ONES_YOU_NEED_TO_SUPPORT
# SSL protocol to use.
server.ssl.protocol=TLS
# Enabled SSL protocols.
server.ssl.enabled-protocols=TLSv1.2
암호 목록은 https://testssl.sh/openssl-rfc.mapping.html 및 https://msdn.microsoft.com/en-us/library/windows/desktop/mt813794(v=vs.85).aspx을 사용할 수 있습니다.
스프링 부트 1.2.1에서는, TLS 1.2 는 디폴트로 유효하게 되어 있습니다.이는 명령줄에서 다음을 실행하여 확인할 수 있습니다.
openssl s_client -connect serverAddress:port
출력되는 것
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-RSA-AES256-SHA384
그래서 내 문제는 따로 있는 게 틀림없어.
언급URL : https://stackoverflow.com/questions/27989034/how-do-you-enable-tls-1-2-on-spring-boot
'source' 카테고리의 다른 글
Wordpress에 URL 다시 쓰기 규칙 추가 (0) | 2023.02.10 |
---|---|
Json Serialization에서 속성을 제외하는 방법 (0) | 2023.02.10 |
redux, react-redux, redux-thunk의 차이점은 무엇입니까? (0) | 2023.02.10 |
다른 스키마의 테이블에 대한 외부 키 참조 (0) | 2023.02.10 |
get_categories()는 사용 중인 카테고리만 반환합니다. (0) | 2023.02.10 |