다음을 통해 공유


SSLSocketFactory 클래스

정의

JSSE 기반 TLS/SSL 연결에 대한 계층화된 소켓 팩터리입니다.

[Android.Runtime.Register("org/apache/http/conn/ssl/SSLSocketFactory", DoNotGenerateAcw=true)]
public class SSLSocketFactory : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Org.Apache.Http.Conn.Schemes.ILayeredSocketFactory
[<Android.Runtime.Register("org/apache/http/conn/ssl/SSLSocketFactory", DoNotGenerateAcw=true)>]
type SSLSocketFactory = class
    inherit Object
    interface ILayeredSocketFactory
    interface ISocketFactory
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
상속
SSLSocketFactory
특성
구현

설명

JSSE 기반 TLS/SSL 연결에 대한 계층화된 소켓 팩터리입니다. .

SSLSocketFactory를 사용하여 신뢰할 수 있는 인증서 목록에 대해 HTTPS 서버의 ID의 유효성을 검사하고 프라이빗 키를 사용하여 HTTPS 서버에 인증할 수 있습니다.

SSLSocketFactory는 하나 이상의 신뢰할 수 있는 인증서를 KeyStore truststore 포함하는 파일과 함께 제공될 때 서버 인증을 사용하도록 설정합니다. 대상 HTTPS 서버가 신뢰할 수 없는 인증서로 인증을 시도하는 경우 클라이언트 보안 소켓은 SSL 세션 핸드셰이크 중에 연결을 거부합니다.

JDK keytool 유틸리티를 사용하여 신뢰할 수 있는 인증서를 가져오고 truststore 파일을 생성합니다.

keytool -import -alias "my server cert" -file server.crt -keystore my.truststore

</p>

SSLSocketFactory는 프라이빗 키/퍼블릭 인증서 쌍을 KeyStore keystore 포함하는 파일과 함께 제공될 때 클라이언트 인증을 사용하도록 설정합니다. 클라이언트 보안 소켓은 프라이빗 키를 사용하여 서버에서 요청된 경우 SSL 세션 핸드셰이크 중에 대상 HTTPS 서버에 인증합니다. 대상 HTTPS 서버는 클라이언트의 신뢰성을 설정하기 위해 클라이언트가 제공한 인증서를 차례로 확인합니다.

다음 작업 시퀀스를 사용하여 키 저장소 파일 생성

<ul><li>

JDK keytool 유틸리티를 사용하여 새 키 생성

keytool -genkey -v -alias "my client key" -validity 365 -keystore my.keystore

간단히 하기 위해 키 저장소 </p></li li><와 동일한 암호를 키에 사용합니다.>

CSR(인증서 서명 요청) 발급

keytool -certreq -alias "my client key" -file mycertreq.csr -keystore my.keystore

</p></li li><>

서명을 위해 신뢰할 수 있는 인증 기관에 인증서 요청을 보냅니다. 하나는 자신의 CA 역할을 선택하고 OpenSSL과 같은 PKI 도구를 사용하여 인증서 요청에 서명하도록 선택할 수 있습니다.

</li li><>

신뢰할 수 있는 CA 루트 인증서 가져오기

keytool -import -alias "my trusted ca" -file caroot.crt -keystore my.keystore

</p></li li><>

전체 인증서 체인이 포함된 PKCS#7 파일 가져오기

keytool -import -alias "my client key" -file mycert.p7 -keystore my.keystore

</p></li li><>

결과 키 저장소 파일의 콘텐츠 확인

keytool -list -v -keystore my.keystore

</p></li></ul>

이 멤버는 더 이상 사용되지 않습니다. 대신 java.net.URL#openConnection를 사용하십시오. 자세한 내용은 이 웹 페이지를 방문하세요.

에 대한 org.apache.http.conn.ssl.SSLSocketFactoryJava 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

생성자

SSLSocketFactory(IntPtr, JniHandleOwnership)

JNI 개체의 관리되는 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다.

SSLSocketFactory(KeyStore, String, KeyStore)

기본 SSL 소켓 팩터리를 만듭니다.

SSLSocketFactory(KeyStore, String)

기본 SSL 소켓 팩터리를 만듭니다.

SSLSocketFactory(KeyStore)

기본 SSL 소켓 팩터리를 만듭니다.

SSLSocketFactory(String, KeyStore, String, KeyStore, SecureRandom, IHostNameResolver)

기본 SSL 소켓 팩터리를 만듭니다.

필드

Ssl
Sslv2
Tls

속성

AllowAllHostnameVerifier
BrowserCompatibleHostnameVerifier
Class

Object런타임 클래스를 반환합니다.

(다음에서 상속됨 Object)
Handle

기본 Android 인스턴스에 대한 핸들입니다.

(다음에서 상속됨 Object)
HostnameVerifier
JniIdentityHashCode

JSSE 기반 TLS/SSL 연결에 대한 계층화된 소켓 팩터리입니다.

(다음에서 상속됨 Object)
JniPeerMembers

JSSE 기반 TLS/SSL 연결에 대한 계층화된 소켓 팩터리입니다.

PeerReference

JSSE 기반 TLS/SSL 연결에 대한 계층화된 소켓 팩터리입니다.

(다음에서 상속됨 Object)
SocketFactory

SSLProtocolSocketFactory의 싱글톤 인스턴스를 가져옵니다.

StrictHostnameVerifier
ThresholdClass

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

ThresholdType

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

메서드

Clone()

이 개체의 복사본을 만들고 반환합니다.

(다음에서 상속됨 Object)
ConnectSocket(Socket, String, Int32, InetAddress, Int32, IHttpParams)

지정된 호스트에 소켓을 연결합니다.

ConnectSocketAsync(Socket, String, Int32, InetAddress, Int32, IHttpParams)

JSSE 기반 TLS/SSL 연결에 대한 계층화된 소켓 팩터리입니다.

CreateSocket()

연결되지 않은 새 소켓을 만듭니다.

CreateSocket(Socket, String, Int32, Boolean)

기존 소켓 위에 계층화된 지정된 호스트에 연결된 소켓을 반환합니다.

CreateSocketAsync()

JSSE 기반 TLS/SSL 연결에 대한 계층화된 소켓 팩터리입니다.

CreateSocketAsync(Socket, String, Int32, Boolean)

JSSE 기반 TLS/SSL 연결에 대한 계층화된 소켓 팩터리입니다.

Dispose()

JSSE 기반 TLS/SSL 연결에 대한 계층화된 소켓 팩터리입니다.

(다음에서 상속됨 Object)
Dispose(Boolean)

JSSE 기반 TLS/SSL 연결에 대한 계층화된 소켓 팩터리입니다.

(다음에서 상속됨 Object)
Equals(Object)

다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다.

(다음에서 상속됨 Object)
GetHashCode()

개체에 대한 해시 코드 값을 반환합니다.

(다음에서 상속됨 Object)
IsSecure(Socket)

소켓 연결이 안전한지 여부를 확인합니다.

JavaFinalize()

가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다.

(다음에서 상속됨 Object)
Notify()

이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다.

(다음에서 상속됨 Object)
NotifyAll()

이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다.

(다음에서 상속됨 Object)
SetHandle(IntPtr, JniHandleOwnership)

Handle 속성을 설정합니다.

(다음에서 상속됨 Object)
ToArray<T>()

JSSE 기반 TLS/SSL 연결에 대한 계층화된 소켓 팩터리입니다.

(다음에서 상속됨 Object)
ToString()

개체의 문자열 표현을 반환합니다.

(다음에서 상속됨 Object)
UnregisterFromRuntime()

JSSE 기반 TLS/SSL 연결에 대한 계층화된 소켓 팩터리입니다.

(다음에서 상속됨 Object)
Wait()

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 <><중단/종료>합니다.>

(다음에서 상속됨 Object)
Wait(Int64, Int32)

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 <중단/>종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다.

(다음에서 상속됨 Object)
Wait(Int64)

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 <중단/>종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

IJavaPeerable.Disposed()

JSSE 기반 TLS/SSL 연결에 대한 계층화된 소켓 팩터리입니다.

(다음에서 상속됨 Object)
IJavaPeerable.DisposeUnlessReferenced()

JSSE 기반 TLS/SSL 연결에 대한 계층화된 소켓 팩터리입니다.

(다음에서 상속됨 Object)
IJavaPeerable.Finalized()

JSSE 기반 TLS/SSL 연결에 대한 계층화된 소켓 팩터리입니다.

(다음에서 상속됨 Object)
IJavaPeerable.JniManagedPeerState

JSSE 기반 TLS/SSL 연결에 대한 계층화된 소켓 팩터리입니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

JSSE 기반 TLS/SSL 연결에 대한 계층화된 소켓 팩터리입니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

JSSE 기반 TLS/SSL 연결에 대한 계층화된 소켓 팩터리입니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

JSSE 기반 TLS/SSL 연결에 대한 계층화된 소켓 팩터리입니다.

(다음에서 상속됨 Object)

확장 메서드

JavaCast<TResult>(IJavaObject)

Android 런타임 확인 형식 변환을 수행합니다.

JavaCast<TResult>(IJavaObject)

JSSE 기반 TLS/SSL 연결에 대한 계층화된 소켓 팩터리입니다.

GetJniTypeName(IJavaPeerable)

JSSE 기반 TLS/SSL 연결에 대한 계층화된 소켓 팩터리입니다.

CreateSocketAsync(ILayeredSocketFactory, Socket, String, Int32, Boolean)

JSSE 기반 TLS/SSL 연결에 대한 계층화된 소켓 팩터리입니다.

ConnectSocketAsync(ISocketFactory, Socket, String, Int32, InetAddress, Int32, IHttpParams)

JSSE 기반 TLS/SSL 연결에 대한 계층화된 소켓 팩터리입니다.

적용 대상