SSLParameters — SSL/TLS/DTLS 연결 매개변수
SSLParameters — SSL/TLS/DTLS 연결 매개변수
SSLParameters 클래스는 SSL/TLS/DTLS 연결의 매개변수를 캡슐화해요.
본문
매개변수에는 SSL/TLS/DTLS 핸드셰이크에서 수락될 암호 스위트 목록, 허용되는 프로토콜 목록, 핸드셰이킹 중 엔드포인트 식별 알고리즘, 서버 이름 표시(SNI), 최대 네트워크 패킷 크기, 알고리즘 제약, 서명 방식, 키 교환 이름 그룹, SSL/TLS/DTLS 서버가 클라이언트 인증을 요청하거나 요구할지 여부 등이 포함돼요.
SSLParameters 객체는 이 클래스의 생성자로 만들 수 있고, SSLSocket, SSLServerSocket, SSLEngine의 getSSLParameters() 메서드나 SSLContext의 getDefaultSSLParameters(), getSupportedSSLParameters() 메서드로 얻을 수 있어요.
SSLParameters는 SSLSocket.setSSLParameters(), SSLServerSocket.setSSLParameters(), SSLEngine.setSSLParameters() 메서드로 연결에 적용할 수 있어요.
SSLParameters p = sslSocket.getSSLParameters();
p.setProtocols(new String[] { "TLSv1.2" });
p.setCipherSuites(new String[] { "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", ... });
p.setApplicationProtocols(new String[] {"h2", "http/1.1"});
sslSocket.setSSLParameters(p);
주요 메서드로 getCipherSuites, setCipherSuites, getProtocols, setProtocols, getNeedClientAuth, setNeedClientAuth, setServerNames, getServerNames, setSNIMatchers, getSNIMatchers 등이 있어요.