2.2. 클라이언트 인증서에 대한 신뢰 저장소 및 신뢰 관리자 구성
클라이언트 인증서 및 신뢰 관리자를 사용하여 신뢰 저장소에 대한 참조가 있는 신뢰 저장소를 구성하여 TLS 핸드셰이크 중에 클라이언트 인증서를 확인합니다.
사전 요구 사항
클라이언트 인증서를 얻거나 생성했습니다.
자세한 내용은 클라이언트 인증서 생성을 참조하십시오.
- JBoss EAP가 실행 중입니다.
프로세스
관리 CLI를 사용하여 클라이언트 인증서로 신뢰 저장소를 구성합니다.
신뢰할 클라이언트 인증서를 저장할 서버 신뢰 저장소를 생성합니다.
구문
/subsystem=elytron/key-store=<server_trust_store_name>:add(path=<path_to_server_trust_store_file>,credential-reference={<password>})예제
/subsystem=elytron/key-store=exampleServerTrustStore:add(path=exampleTLSServer.truststore,relative-to=jboss.server.config.dir,credential-reference={clear-text=secret}) {"outcome" => "success"}클라이언트 인증서 별칭을 지정하여 클라이언트 인증서를 서버 신뢰 저장소로 가져옵니다. 서버의 신뢰 저장소가 신뢰하는 인증서를 제공하는 클라이언트만 서버에 연결할 수 있습니다.
참고자체 서명된 인증서를 사용하여 양방향 SSL/TLS를 구성하는 경우 인증서에 대한 신뢰 체인이 없으므로
validate를false로 설정합니다.CA에서 서명한 인증서를 사용하여 프로덕션 환경에서 양방향 SSL/TLS를 구성하려면
validate를true로 설정합니다.구문
/subsystem=elytron/key-store=<server_trust_store_name>:import-certificate(alias=<alias>,path=<certificate_file>,credential-reference={<password>},trust-cacerts=<true_or_false>,validate=<true_false>)예제
/subsystem=elytron/key-store=exampleServerTrustStore:import-certificate(alias=client,path=client.cer,relative-to=jboss.server.config.dir,credential-reference={clear-text=serverTrustSecret},trust-cacerts=true,validate=false) {"outcome" => "success"}클라이언트 인증서를 신뢰 저장소 파일로 내보냅니다.
구문
/subsystem=elytron/key-store=<server_trust_store_name>:store()예제
/subsystem=elytron/key-store=exampleServerTrustStore:store() { "outcome" => "success", "result" => undefined }
TLS 핸드셰이크 중에 클라이언트 인증서를 확인하도록 신뢰 관리자를 구성합니다.
구문
/subsystem=elytron/trust-manager=<trust_manager_name>:add(key-store=<server_trust_store_name>)예제
/subsystem=elytron/trust-manager=exampleTLSTrustManager:add(key-store=exampleServerTrustStore) {"outcome" => "success"}
구성된 신뢰 저장소의 클라이언트 인증서는 TLS 핸드셰이크 중에 클라이언트가 서버와 제공하는 인증서를 확인하는 데 사용됩니다.