|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.net.ServerSocket
javax.net.ssl.SSLServerSocket
public abstract class SSLServerSocket
이 클래스는 ServerSocket
를 확장해, Secure Sockets Layer (SSL)나 Transport Layer Security (TLS)등의 프로토콜을 사용하는 시큐어 서버 소켓을 제공합니다.
이 클래스의 인스턴스를 작성할 때는, 일반적으로,SSLServerSocketFactory
를 사용합니다. SSLServerSocket
는, 접속을 accept
해 SSLSocket
를 작성합니다.
SSLServerSocket
의 일부 상태 데이터는, 작성되는 SSLSocket
에 상속됩니다. 예를 들어, 유효하게 되어 있는 암호화 방식군과 프로토콜, 클라이언트 인증이 필요한가 어떤가 이 소켓이 핸드 쉐이크를 개시할 때의 모드 (클라이언트 모드 또는 서버 모드), 등의 정보가 상속됩니다. 작성된 SSLSocket
에 상속된 상태는, 대응하는 메소드를 호출해 오버라이드(override) 할 수 있습니다.
ServerSocket
,
SSLSocket
생성자 의 개요 | |
---|---|
protected |
SSLServerSocket ()
서브 클래스에서만 사용됩니다. |
protected |
SSLServerSocket (int port)
서브 클래스에서만 사용됩니다. |
protected |
SSLServerSocket (int port,
int backlog)
서브 클래스에서만 사용됩니다. |
protected |
SSLServerSocket (int port,
int backlog,
InetAddress address)
서브 클래스에서만 사용됩니다. |
메소드의 개요 | |
---|---|
abstract String [] |
getEnabledCipherSuites ()
새롭게 받아들인 접속으로 현재 사용 가능하게 되어 있는 암호화 방식군의 리스트를 돌려줍니다. |
abstract String [] |
getEnabledProtocols ()
새롭게 받아들인 접속으로 현재 사용 가능하게 되어 있는 프로토콜명을 돌려줍니다. |
abstract boolean |
getEnableSessionCreation ()
이 서버 소켓으로부터 작성된 소켓으로, 새로운 SSL 세션을 확립하는 경우는 true 를 돌려줍니다. |
abstract boolean |
getNeedClientAuth ()
새롭게 accept 한 서버 모드의 SSLSocket 상에서 클라이언트 인증이 「필수」의 경우, true 를 돌려줍니다. |
abstract String [] |
getSupportedCipherSuites ()
SSL 접속으로 사용 가능하게 할 수 있는 암호화 방식군의 이름을 돌려줍니다. |
abstract String [] |
getSupportedProtocols ()
사용 가능하게 할 수 있는 프로토콜의 이름을 돌려줍니다. |
abstract boolean |
getUseClientMode ()
받아들인 접속이 SSL 클라이언트 모드가 되는 경우는 true 를 돌려줍니다. |
abstract boolean |
getWantClientAuth ()
새롭게 받아들인 서버 모드의 접속상에서 클라이언트 인증이 「요구」되는 경우, true 를 돌려줍니다. |
abstract void |
setEnabledCipherSuites (String [] suites)
받아들여진 접속으로 사용 가능한 암호화 방식군을 설정합니다. |
abstract void |
setEnabledProtocols (String [] protocols)
받아들인 접속으로 사용 가능한 프로토콜을 제어합니다. |
abstract void |
setEnableSessionCreation (boolean flag)
이 서버 소켓으로부터 작성된 소켓으로, 새로운 SSL 세션을 확립화도인지를 제어합니다. |
abstract void |
setNeedClientAuth (boolean need)
받아들인 서버 모드의 SSLSockets 로, 클라이언트 인증이 「필수」라고여겨지도록(듯이) 초기설정 할지 어떨지를 제어합니다. |
abstract void |
setUseClientMode (boolean mode)
받아들인 접속이 디폴트로 SSL 서버 모드가 되는지, SSL 클라이언트 모드가 되는지를 제어합니다. |
abstract void |
setWantClientAuth (boolean want)
받아들인 서버 모드의 SSLSockets 가, 클라이언트 인증을 「요구」하도록(듯이) 초기설정 할지 어떨지를 제어합니다. |
클래스 java.net. ServerSocket 로부터 상속된 메소드 |
---|
accept , bind , bind , close , getChannel , getInetAddress , getLocalPort , getLocalSocketAddress , getReceiveBufferSize , getReuseAddress , getSoTimeout , implAccept , isBound , isClosed , setPerformancePreferences , setReceiveBufferSize , setReuseAddress , setSocketFactory , setSoTimeout , toString |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait |
생성자 의 상세 |
---|
protected SSLServerSocket() throws IOException
디폴트의 인증 문맥을 사용해, 바인드되어 있지 않은 TCP 서버 소켓을 작성합니다.
IOException
- 소켓의 작성중에 입출력 에러가 발생했을 경우protected SSLServerSocket(int port) throws IOException
디폴트의 인증 문맥을 사용해, 포트상에 TCP 서버 소켓을 작성합니다. 큐에 포함되는 접속 백 로그의 최대수는, 디폴트로 50 으로 설정되어 있습니다. 큐내의 접속 요구가 최대수를 넘으면(자), 새로운 접속 요구는 거부됩니다.
port
- 대기하는 포트
IOException
- 소켓의 작성중에 입출력 에러가 발생했을 경우protected SSLServerSocket(int port, int backlog) throws IOException
디폴트의 인증 문맥과 지정된 접속 백 로그를 사용해, 포트상에 TCP 서버 소켓을 작성합니다.
port
- 대기하는 포트backlog
- 최대 보류 접속수.
이 접속수를 넘으면(자), 새로운 요구가 거부된다
IOException
- 소켓의 작성중에 입출력 에러가 발생했을 경우protected SSLServerSocket(int port, int backlog, InetAddress address) throws IOException
디폴트의 인증 문맥, 지정된 접속 백 로그, 및 지정된 네트워크 인터페이스를 사용해, 포트상에 TCP 서버 소켓을 작성합니다. 이 생성자 은, 방화벽(fire wall)나 라우터로서 사용되는 multi-homed host상에서 사용되어 네트워크 서비스를 제공하는 인터페이스를 제어합니다.
port
- 대기하는 포트backlog
- 최대 보류 접속수.
이 접속수를 넘으면(자), 새로운 요구가 거부되는address
- 접속을 받아들이는 네트워크 인터페이스의 주소
IOException
- 소켓의 작성중에 입출력 에러가 발생했을 경우메소드의 상세 |
---|
public abstract String [] getEnabledCipherSuites()
이 리스트가 명시적으로 변경되어 있지 않은 경우는, 시스템 디폴트에 의해, 사용 가능한 모든 암호화 방식군으로, 최소한의 서비스 품질이 보증됩니다.
실제로 사용하는 암호화 방식군은, 요건에 응해 적절히 선택해 주세요. 예를 들어, 서버 소켓이 하등의 인증을 요구하도록(듯이) 설정되어 있을 때, 암호화 방식군으로 사용할 수 있는 비공개키가 서버 소켓에 할당할 수 있지 않은 경우, 또는 암호화 방식군이 익명이기 (위해)때문에 클라이언트 인증을 사용할 수 없는 경우, 그러한 암호화 방식군은 실제로는 사용할 수 없습니다.
getSupportedCipherSuites()
,
setEnabledCipherSuites(String [])
public abstract void setEnabledCipherSuites(String [] suites)
암호화 방식군은, getSupportedCipherSuites()에 의해, 지원 대상으로 해 리스트되어 있지 않으면 안됩니다. 이 메소드의 호출이 정상적으로 행해졌을 때,suites
파라미터에 리스트 된 암호화 방식군만, 사용할 수가 있습니다.
이 ServerSocket 의 인증 문맥으로 사용할 수 없는 인증 정보를 요구하는 암호화 방식군은, 비록 유효하게 되어 있어도 사용되지 않습니다.
accept()
로부터 반환되는 SSLSocket
는, 이 설정을 상속합니다.
suites
- 사용 가능하게 하는 모든 암호화 방식군의 이름
IllegalArgumentException
- 파라미터로 지정된 암호화 방식군의 일부가 지원되지 않는 경우, 또는 파라미터가 null 의 경우. getSupportedCipherSuites()
,
getEnabledCipherSuites()
public abstract String [] getSupportedCipherSuites()
일반적으로은, 그 일부만이 디폴트로 사용 가능하게 됩니다. 디폴트의 서비스 품질 요건을 채우지 않은 암호화 방식군은, 사용 불가가 됩니다. 그러한 암호화 방식군은, 특수한 어플리케이션으로 사용합니다.
getEnabledCipherSuites()
,
setEnabledCipherSuites(String [])
public abstract String [] getSupportedProtocols()
getEnabledProtocols()
,
setEnabledProtocols(String [])
public abstract String [] getEnabledProtocols()
getSupportedProtocols()
,
setEnabledProtocols(String [])
public abstract void setEnabledProtocols(String [] protocols)
프로토콜은, getSupportedProtocols()에 의해, 지원 대상으로 해 리스트되어 있지 않으면 안됩니다. 이 메소드의 호출이 정상적으로 행해졌을 때,protocols
파라미터에 리스트 된 프로토콜만, 사용할 수가 있습니다.
accept()
로부터 반환되는 SSLSocket
는, 이 설정을 상속합니다.
protocols
- 사용 가능하게 하는 모든 프로토콜의 이름
IllegalArgumentException
- 파라미터로 지정된 프로토콜의 일부가 지원되지 않는 경우, 또는 파라미터가 null 의 경우. getEnabledProtocols()
,
getSupportedProtocols()
public abstract void setNeedClientAuth(boolean need)
서버 모드의 SSLSockets
로, 클라이언트 인증이 「필수」라고여겨지도록(듯이) 초기설정 할지 어떨지를 제어합니다. 소켓의 클라이언트 인증 설정은, 다음의 어느 쪽인가에 됩니다.
setWantClientAuth(boolean)
와 달리, 받아들인 소켓의 옵션이 설정되어 있어, 한편 클라이언트 인증 정보가 제공되지 않는 경우는, 협상이 정지해, 접속이 절단 됩니다.
이 메소드를 호출하면(자), 지금까지 이 메소드 또는 setWantClientAuth(boolean)
에 의해 설정된 내용이 오버라이드(override) 됩니다.
SSLSocket.setNeedClientAuth(boolean)
또는 SSLSocket.setWantClientAuth(boolean)
를 호출하면(자), 상속된 초기설정이 오버라이드(override) 됩니다.
need
- 클라이언트 인증이 필수의 경우는 true, 클라이언트 인증이 불필요한 경우는 false. getNeedClientAuth()
,
setWantClientAuth(boolean)
,
getWantClientAuth()
,
setUseClientMode(boolean)
public abstract boolean getNeedClientAuth()
accept
한 서버 모드의 SSLSocket
상에서 클라이언트 인증이 「필수」의 경우, true 를 돌려줍니다.
SSLSocket.setNeedClientAuth(boolean)
또는 SSLSocket.setWantClientAuth(boolean)
를 호출하면(자), 상속된 초기설정이 오버라이드(override) 됩니다.
setNeedClientAuth(boolean)
,
setWantClientAuth(boolean)
,
getWantClientAuth()
,
setUseClientMode(boolean)
public abstract void setWantClientAuth(boolean want)
서버 모드의 SSLSockets
가, 클라이언트 인증을 「요구」하도록(듯이) 초기설정 할지 어떨지를 제어합니다. 소켓의 클라이언트 인증 설정은, 다음의 어느 쪽인가에 됩니다.
setNeedClientAuth(boolean)
와 달리, 받아들인 소켓의 옵션이 설정되어 있어, 한편 클라이언트 인증 정보가 제공되지 않는 경우에서도, 협상은 속행됩니다.
이 메소드를 호출하면(자), 지금까지 이 메소드 또는 setNeedClientAuth(boolean)
에 의해 설정된 내용이 오버라이드(override) 됩니다.
SSLSocket.setNeedClientAuth(boolean)
또는 SSLSocket.setWantClientAuth(boolean)
를 호출하면(자), 상속된 초기설정이 오버라이드(override) 됩니다.
want
- 클라이언트 인증이 요구되었을 경우는 true, 클라이언트 인증이 불필요한 경우는 false. getWantClientAuth()
,
setNeedClientAuth(boolean)
,
getNeedClientAuth()
,
setUseClientMode(boolean)
public abstract boolean getWantClientAuth()
SSLSocket.setNeedClientAuth(boolean)
또는 SSLSocket.setWantClientAuth(boolean)
를 호출하면(자), 상속된 초기설정이 오버라이드(override) 됩니다.
setWantClientAuth(boolean)
,
setNeedClientAuth(boolean)
,
getNeedClientAuth()
,
setUseClientMode(boolean)
public abstract void setUseClientMode(boolean mode)
일반적으로, 서버는 자신을 인증합니다만, 클라이언트는 반드시 그렇다고는 할 수 없습니다.
새롭게 받아들인 접속이, SSL 클라이언트 모드의 TCP 서버를 요구하는 일이 있습니다. 예를 들어, FTP 클라이언트는, 서버 소켓을 취득하면(자), 그 소켓상에서 서버로부터의 접속을 대기합니다. FTP 클라이언트는, 서버로부터의 접속을 받아들일 때, 클라이언트 모드의 SSLServerSocket 를 사용합니다. FTP 서버는, 접속을 개시할 경우에 클라이언트 모드를 무효로 한 SSLSocket 를 사용합니다. 이 경우, 핸드 쉐이크를 실시할 때는, 기존의 SSL 세션이 재사용됩니다.
accept()
로부터 반환되는 SSLSocket
는, 이 설정을 상속합니다.
mode
- 새롭게 받아들인 접속이 SSL 클라이언트 모드를 사용하는 경우는 true. getUseClientMode()
public abstract boolean getUseClientMode()
setUseClientMode(boolean)
public abstract void setEnableSessionCreation(boolean flag)
accept()
로부터 반환되는 SSLSocket
는, 이 설정을 상속합니다.
flag
- 세션을 작성하는 경우는 true (디폴트). 기존의 세션을 재개하는 경우는 false. getEnableSessionCreation()
public abstract boolean getEnableSessionCreation()
setEnableSessionCreation(boolean)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.