프로그래밍 언어/JAVA

[정보] Java SSL 관련 시스템 프로퍼티 (-D)

투칼론 2023. 4. 3. 12:27
반응형

JVM 기동 시에 시스템 프로퍼티로 SSL 관련 옵션을 설정합니다. 즉, 프로그램을 실행할 때 설정하거나(java -D....) System.setProperty를 수행하여 코드에서 설정할 수 있습니다.

관련 옵션은 다음과 같습니다.

 

javax.net.ssl.keyStore - 애플리케이션 프로세스의 자체 인증서 및 개인 키를 포함하는 Java 키 저장소 파일의 위치입니다. Windows에서 지정된 경로 이름은 백슬래시 대신 슬래시(/)를 사용해야 합니다.

 

javax.net.ssl.keyStorePassword - javax.net.ssl.keyStore에 지정된 키 저장소 파일에서 개인 키에 액세스하기 위한 비밀번호입니다. 이 암호는 두 번 사용됩니다: 키 저장소 파일 잠금 해제(암호 저장) 및 키 저장소에 저장된 개인 키를 해독(키 암호).

 

javax.net.ssl.keyStore - 애플리케이션 프로세스의 자체 인증서 및 개인 키를 포함하는 Java 키 저장소 파일의 위치입니다. Windows에서 지정된 경로 이름은 백슬래시 대신 슬래시(/)를 사용해야 합니다.

 

javax.net.ssl.trustStore - 이 애플리케이션 프로세스(신뢰 저장소)에서 신뢰하는 CA 인증서 모음을 포함하는 Java 키 저장소 파일의 위치입니다. /Windows에서 지정된 경로 이름 은 백슬래시 대신 슬래시 를 사용해야 합니다 \.

이 속성을 사용하여 신뢰 저장소 위치를 지정하지 않으면 SunJSSE 구현은 다음 위치에서 키 저장소 파일을 검색하고 사용합니다(순서대로).

  1. $JAVA_HOME/lib/security/jssecacerts
  2. $JAVA_HOME/lib/security/cacerts

(참조) https://docs.oracle.com/javase/7/docs/technotes/guides/security/jsse/JSSERefGuide.html#X509TrustManager

 

javax.net.ssl.trustStorePassword - 지정한 키 저장소 파일(저장 암호)의 잠금을 해제하기 위한 암호 javax.net.ssl.trustStore입니다.

 

javax.net.ssl.trustStoreType - (선택 사항) Java 키 저장소 파일 형식의 경우 이 속성 값은 jks(또는 JKS)입니다. 기본값이 이미 jks이기 때문에 일반적으로 이 속성을 지정하지 않습니다.

 

javax.net.debug - SSL/TLS 계층에 대한 로깅을 켜려면 이 속성을 ssl로 설정합니다.