sslsocketfactory 예제

SSL은 네트워크 연결을 통해 작동하는 두 장치 간에 보안 채널을 프로비전합니다. SSL의 일반적인 예는 웹 브라우저와 웹 서버 간의 보안 통신을 활성화하는 것입니다. 이 작업을 수행하면 예제를 다시 실행하고 성공적으로 수행된 보안 연결을 가져올 수 있어야 합니다. 이 클래스는 Socket 클래스를 확장하고 보안 소켓을 제공합니다. 이러한 소켓은 일반 스트림 소켓입니다. SSL 소켓 서버에는 클라이언트 인증이 필요하지 않으므로 기본 SSL 소켓 팩터리로 SSL 소켓 클라이언트를 만들 수 있습니다. 여기에 SslReverseEchoer.java와 통신하는 데 사용할 수있는 내 샘플 프로그램, SslSocketClient.java입니다 : 사실, 모든 JSSE의 공장을 사용하여 인스턴스화됩니다. 또한 기본 네트워크 전송 프로토콜에 대한 보안 보호 계층을 추가합니다. 물론,이 프로그램을 실행하려면, 당신은 준비 키 저장소 파일, herong.jks이 있어야합니다. 자체 서명된 개인 및 공개 키 쌍이 포함되어 있습니다.

Java 키 저장소 파일에 대한 다른 장을 읽습니다. 경우에 우리는 오류가 발생 “javax.net.ssl.SSLHandshakeException: sun.security.validator.Validator예외: PKIX 경로 건물 실패: sun.security.provider.certpath.SunCertPathBuilderException: 요청에 유효한 인증 경로를 찾을 수 없습니다. 대상 SSL 연결을 설정 하는 동안”, 그것은 우리가 자바 트러스트 스토어에 연결 하려고 하는 서버의 공용 인증서가 없는 나타냅니다. Java는 개발자가 암호화된 형식으로 메시지를 수신하고 보낼 수 있도록 클라이언트와 보안 연결을 설정하는 데 도움이 되는 여러 보안 기반 API를 제공합니다. javax.net.ssl.SSL소켓공장은 SSLSocket 개체를 만드는 데 사용됩니다. JDK 1.8로 이 프로그램을 실행하면 유사성에 따라 메서드를 createServerSocket이라고 합니다. 간단히 말해, 보안 소켓 계층(SSL)을 사용하면 일반적으로 클라이언트와 서버두 당사자 간의 보안 연결을 사용할 수 있습니다. SSLSocket 인스턴스는 지정된 포트에서 명명된 호스트에 대한 SSL 연결을 구성합니다. 트러스트스토어는 Java에서 보안 연결의 유효성을 검사하는 데 사용하는 신뢰할 수 있는 인증서를 포함하는 파일입니다. 서버 인증서는 신뢰할 수 있는 인증 기관에서 직접 또는 간접적으로 서명하지 않고 자체 서명된 인증서이기 때문에 예상되는 오류입니다. 이 문제를 해결하는 방법에 대한 다음 섹션을 참조하십시오.

SSL은 세 가지 주요 정보 보안 원칙을 지원하는 데 필요합니다: SSLServerSocketFactory 클래스는 SSLSocketSocketFactory와 매우 유사하며 SSLSocket 소켓 인스턴스 대신 SSLServerSocket 인스턴스를 생성한다는 차이점이 있습니다. 이렇게 하면 연결의 클라이언트 측을 지정된 주소 및 포트에 바인딩할 수 있습니다. 이 특정 한 경우 웹 브라우저는 HTTPS (보안에 대 한 서) 연결을 사용 하 여 별개의 웹 서버에서 제공 하는 리소스에 액세스 합니다.