Java용 TLS에서 SDK 작업 - AWS SDK for Java 2.x

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Java용 TLS에서 SDK 작업

는 기본 Java 플랫폼의 TLS 기능을 AWS SDK for Java 사용합니다. 이 주제에서는 Amazon Corretto 17에서 사용하는 OpenJDK 구현을 사용하는 예를 보여줍니다.

작업하려면 기본 JDK AWS 서비스가 최소 버전의 TLS 1.2를 지원해야 하지만 TLS 1.3이 권장됩니다.

사용자는 Word와 함께 사용 중인 Java 플랫폼의 설명서를 참조하여 기본적으로 활성화된 TLS 버전과 특정 TLS 버전을 활성화 및 비활성화하는 방법을 SDK 확인해야 합니다.

TLS 버전 정보를 확인하는 방법

다음 코드는 OpenJDK를 사용하여 지원되는 SSLContext/SSL 버전을 인쇄하는 TLS 사용을 보여줍니다.

System.out.println(Arrays.toString(SSLContext.getDefault().getSupportedSSLParameters().getProtocols()));

예를 들어 Amazon Corretto 17(OpenJDK)은 다음 출력을 생성합니다.

[TLSv1.3, TLSv1.2, TLSv1.1, TLSv1, SSLv3, SSLv2Hello]

SSL 핸드셰이크의 작동 상태와 사용되는 TLS 버전을 보려면 시스템 속성 javax.net.debug를 사용할 수 있습니다.

예를 들어 TLS를 사용하는 Java 애플리케이션을 실행합니다.

java app.jar -Djavax.net.debug=ssl:handshake

애플리케이션은 다음과 유사한 SSL 핸드셰이크를 기록합니다.

... javax.net.ssl|DEBUG|10|main|2022-12-23 13:53:12.221 EST|ClientHello.java:641|Produced ClientHello handshake message ( "ClientHello": { "client version" : "TLSv1.2", ... javax.net.ssl|DEBUG|10|main|2022-12-23 13:53:12.295 EST|ServerHello.java:888|Consuming ServerHello handshake message ( "ServerHello": { "server version" : "TLSv1.2", ...

최소 TLS 버전 적용

SDK for Java는 항상 플랫폼 및 서비스에서 지원하는 최신 TLS 버전을 선호합니다. 특정 최소 TLS 버전을 적용하려면 Java 플랫폼 설명서를 참조하세요.

OpenJDK 기반 JVMs의 경우 시스템 속성을 사용할 수 있습니다jdk.tls.client.protocols.

예를 들어 애플리케이션의 SDK 서비스 클라이언트가 TLS 1.2를 사용하도록 하려면 TLS 1.3을 사용할 수 있더라도 다음 시스템 속성을 제공합니다.

java app.jar -Djdk.tls.client.protocols=TLSv1.2

AWS API 엔드포인트를 TLS 1.2로 업그레이드

최소 버전의 Word 1.2로 이동하는 TLS AWS API 엔드포인트에 대한 자세한 내용은이 블로그 게시물을 참조하세요.