2024/12 4

TLS handshaking1.2/1.3, SNI, wireshark Capture 권한 부여 방법

1. TLS 1.2/1.3 HandShaking 과정아래 페이지에서 TLS 1.2/1.3 HandShaking 하는 과정을 자세히 살펴볼 수 있습니다.1.1. TLS 1.2 HandShaking 과정https://tls12.xargs.org/ The Illustrated TLS 1.2 ConnectionEvery byte of a TLS connection explained and reproducedtls12.xargs.org 1.2. TLS 1.3 HandShaking 과정https://tls13.xargs.org/ The Illustrated TLS 1.3 ConnectionEvery byte of a TLS connection explained and reproducedtls13.xargs.org ..

Study/Network 2024.12.13

HTTP를 제공하는 서버인데 HTTPS로 호출하는 경우(SSL/TLS 관련 에러 발생) (feat. error:0A00010B:SSL routines::wrong version number)

더보기Netty Http Client로 HTTP를 제공하는 서버에 HTTPS로 호출된 케이스가 있었는데, 이때 발생했던 에러에 대해 더 자세히 살펴보겠습니다.1. 에러 발생not an SSL/TLS record: 485454502f312e3120343030200d0a5472616e736665722d456e636f64696e673a206368756e6b65640d0a446174653a204672692c203239204e6f7620323032342030333a31313a353820474d540d0a436f6e6e656374696f6e3a20636c6f73650d0a0d0a300d0a0d0a 2. 에러 분석16진수(Hexadecimal)로 인코딩된 데이터485454502f312e3120343030200d0a5..

Java Security Property 수정

더보기Java17 버전의 amazon-corretto-17.jdk 를 사용하고 있었는데, Java Security Property 중 jdk.tls.disabledAlgorithms 를 확인해보면, 기본적으로 TLSv1.2 하위의 암호화 알고리즘을 disabledAlgorithms 에 포함되어있습니다. 따라서 Java 버전이나 JDK 에 따라 TLS 버전에 대한 암호화 알고리즘 지원을 위해 수동으로 활성화하는 과정이 필요하며, 아래에서 2가지 방법을 제시하고 있습니다.Case1. java.security 파일 직접 수정하는 방법(로컬에서 사용 가능)Case1은 직접 배포 때마다 java.security를 수정하는 거는 번거러우므로, 로컬 또는 서버에서 직접 java.security 수정이 가능할 때 사용..

[Spring GW] Netty Http Client에 Java System Property 적용 및 JVM Option 사용이 안되는 이유

요약 설명System.setProperty("https.protocols", "TLSv1"); 설정이 Netty의 HttpClient에 영향을 미치지 않는 이유는, Netty의 HttpClient는 JVM의 기본 HTTPS 설정을 사용하지 않고, 자체적으로 SSL/TLS 연결을 구성하기 때문입니다.Java의 표준 HttpsURLConnection과 달리, **Netty는 SslContext**를 사용하여 SSL/TLS 설정을 명시적으로 관리합니다. JVM의 https.protocols 설정은 Java의 표준 HTTPS 클라이언트와 라이브러리들에서 사용하는 기본 프로토콜을 설정할 뿐, Netty의 HttpClient는 이 설정을 읽지 않고 별도의 TLS 설정을 사용합니다. 상세 설명1. 독립적인 SSL/T..