4장. JBoss EAP 클라이언트에서 Elytron 클라이언트 기본 SSLcontext 보안 공급자 사용
JVM(Java Virtual Machine)을 사용하여 기본 SSLcontext 를 제공하기 위해 Elytron 클라이언트 구성을 사용하려면 WildFlyElytronClientDefaultSSLContextProvider 를 사용할 수 있습니다. 이 공급자를 사용하여 기본 SSLContext 를 요청할 때 클라이언트 라이브러리가 Elytron 클라이언트 구성을 자동으로 사용하도록 합니다.
4.1. Elytron 클라이언트 기본 SSL 컨텍스트 보안 공급자 링크 복사링크가 클립보드에 복사되었습니다!
Elytron 클라이언트는 Java 보안 공급자인 org.wildfly.security.auth.client.wildFlytronClientDefaultSSLContextProvider 를 제공합니다. 이 공급자를 사용하여 Java 가상 시스템(JVM) 전체 기본 SSL 컨텍스트를 등록할 수 있습니다.
WildFlyElytronClientDefaultSSLContextProvider 공급자는 다음과 같이 작동합니다.
메서드가 호출되면 공급자가 SSLContext를 인스턴스화합니다.SSLContext.getDefault()SSLContext는 다음 위치 중 하나에서 얻은 인증 컨텍스트에서 시작됩니다.- 공급자에 인수로 전달된 Elytron 클라이언트 구성 파일입니다.
파일 시스템에서
wildfly-config.xml파일을 자동으로 검색합니다. 자세한 내용은 기본 구성 접근 방식을 참조하십시오.공급자에 대한 인수로 전달된 클라이언트 구성 파일이 우선합니다.
SSLContext.getDefault()메서드를 호출하면 JVM에서 공급자가 인스턴스화한SSLContext를 반환합니다.Elytron 클라이언트에는 여러 SSL 컨텍스트가 구성될 수 있으므로 규칙이 연결에 대한 단일 SSL 컨텍스트를 선택하는 데 사용됩니다. 기본 SSL 컨텍스트는 모든 규칙과 일치하는 것입니다. 공급자는 이 기본 SSL 컨텍스트를 반환합니다.
기본 SSLContext 가 구성되지 않았거나 구성이 없는 경우 공급자는 무시됩니다.
WildFlyElytronClientDefaultSSLContextProvider 공급자를 등록할 때 코드에서 Elytron 클라이언트 API를 사용하지 않고도 SSLContext.getDefault() 메서드를 사용하는 모든 클라이언트 라이브러리는 Elytron 클라이언트 구성을 사용합니다.
공급자를 등록하려면 다음 아티팩트에 런타임 종속성을 추가해야 합니다.
-
wildfly-elytron-client -
wildfly-client-config
공급자를 프로그래밍 방식으로, 클라이언트 코드에서 등록하거나 java.security 파일에서 정적으로 등록할 수 있습니다. 등록하고 사용할 공급자를 동적으로 결정하려면 프로그래밍 방식의 등록을 사용합니다.
프로그래밍 방식으로 공급자 등록
다음과 같이 클라이언트 코드에서 프로그래밍 방식으로 공급자를 등록할 수 있습니다.
Security.insertProviderAt(new WildFlyElytronClientDefaultSSLContextProvider(CONFIG_FILE_PATH), 1);
Security.insertProviderAt(new WildFlyElytronClientDefaultSSLContextProvider(CONFIG_FILE_PATH), 1);
공급자를 정적으로 등록
다음과 같이 java.security 파일에 공급자를 등록할 수 있습니다.
security.provider.1=org.wildfly.security.auth.client.WildFlyElytronClientDefaultSSLContextProvider <CONFIG_FILE_PATH>
security.provider.1=org.wildfly.security.auth.client.WildFlyElytronClientDefaultSSLContextProvider <CONFIG_FILE_PATH>