Поделиться через


SSLSocketFactory Класс

Определение

Многоуровневая фабрика сокетов для подключений TLS/SSL на основе JSSE.

[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
Атрибуты
Реализации

Комментарии

Многоуровневая фабрика сокетов для подключений TLS/SSL на основе JSSE. .

SSLSocketFactory можно использовать для проверки удостоверения HTTPS-сервера в списке доверенных сертификатов и проверки подлинности на HTTPS-сервере с помощью закрытого ключа.

SSLSocketFactory обеспечивает проверку подлинности сервера при использовании файла, KeyStore truststore содержащего один или несколько доверенных сертификатов. Безопасный сокет клиента отклонит подключение во время подтверждения сеанса SSL, если целевой HTTPS-сервер пытается выполнить проверку подлинности с помощью ненадежного сертификата.

Используйте служебную программу keytool JDK для импорта доверенного сертификата и создания файла truststore:

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

</p>

SSLSocketFactory включает проверку подлинности клиента при указании файла с KeyStore keystore парой закрытого ключа или открытого сертификата. Безопасный сокет клиента будет использовать закрытый ключ для проверки подлинности себя на целевом HTTPS-сервере во время подтверждения сеанса SSL, если он запрашивается для этого сервером. Целевой 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><>

Отправьте запрос сертификата в доверенный центр сертификации для подписи. Вы можете действовать в качестве собственного ЦС и подписывать запрос на сертификат с помощью средства PKI, например OpenSSL.

</li li><>

Импорт корневого сертификата доверенного ЦС

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. Дополнительные сведения см. на этой веб-странице .

Документация по Java для org.apache.http.conn.ssl.SSLSocketFactory.

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Конструкторы

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

Многоуровневая фабрика сокетов для подключений TLS/SSL на основе JSSE.

(Унаследовано от Object)
JniPeerMembers

Многоуровневая фабрика сокетов для подключений TLS/SSL на основе JSSE.

PeerReference

Многоуровневая фабрика сокетов для подключений TLS/SSL на основе JSSE.

(Унаследовано от Object)
SocketFactory

Возвращает одноэлементный экземпляр SSLProtocolSocketFactory.

StrictHostnameVerifier
ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

Методы

Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
ConnectSocket(Socket, String, Int32, InetAddress, Int32, IHttpParams)

Подключает сокет к указанному узлу.

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

Многоуровневая фабрика сокетов для подключений TLS/SSL на основе JSSE.

CreateSocket()

Создает новый неподключаемый сокет.

CreateSocket(Socket, String, Int32, Boolean)

Возвращает сокет, подключенный к указанному узлу, наложенном по существующему сокету.

CreateSocketAsync()

Многоуровневая фабрика сокетов для подключений TLS/SSL на основе JSSE.

CreateSocketAsync(Socket, String, Int32, Boolean)

Многоуровневая фабрика сокетов для подключений TLS/SSL на основе JSSE.

Dispose()

Многоуровневая фабрика сокетов для подключений TLS/SSL на основе JSSE.

(Унаследовано от Object)
Dispose(Boolean)

Многоуровневая фабрика сокетов для подключений TLS/SSL на основе JSSE.

(Унаследовано от Object)
Equals(Object)

Указывает, равен ли другой объект этому объекту.

(Унаследовано от Object)
GetHashCode()

Возвращает значение хэш-кода для объекта.

(Унаследовано от Object)
IsSecure(Socket)

Проверяет, является ли подключение сокета безопасным.

JavaFinalize()

Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет.

(Унаследовано от Object)
Notify()

Пробуждение одного потока, ожидающего монитора этого объекта.

(Унаследовано от Object)
NotifyAll()

Просыпает все потоки, ожидающие монитора этого объекта.

(Унаследовано от Object)
SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
ToArray<T>()

Многоуровневая фабрика сокетов для подключений TLS/SSL на основе JSSE.

(Унаследовано от Object)
ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
UnregisterFromRuntime()

Многоуровневая фабрика сокетов для подключений TLS/SSL на основе JSSE.

(Унаследовано от Object)
Wait()

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>помощи уведомления</em> или <эм>прерванного</em>.

(Унаследовано от Object)
Wait(Int64, Int32)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Wait(Int64)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)

Явные реализации интерфейса

IJavaPeerable.Disposed()

Многоуровневая фабрика сокетов для подключений TLS/SSL на основе JSSE.

(Унаследовано от Object)
IJavaPeerable.DisposeUnlessReferenced()

Многоуровневая фабрика сокетов для подключений TLS/SSL на основе JSSE.

(Унаследовано от Object)
IJavaPeerable.Finalized()

Многоуровневая фабрика сокетов для подключений TLS/SSL на основе JSSE.

(Унаследовано от Object)
IJavaPeerable.JniManagedPeerState

Многоуровневая фабрика сокетов для подключений TLS/SSL на основе JSSE.

(Унаследовано от Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Многоуровневая фабрика сокетов для подключений TLS/SSL на основе JSSE.

(Унаследовано от Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Многоуровневая фабрика сокетов для подключений TLS/SSL на основе JSSE.

(Унаследовано от Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Многоуровневая фабрика сокетов для подключений TLS/SSL на основе JSSE.

(Унаследовано от Object)

Методы расширения

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Многоуровневая фабрика сокетов для подключений TLS/SSL на основе JSSE.

GetJniTypeName(IJavaPeerable)

Многоуровневая фабрика сокетов для подключений TLS/SSL на основе JSSE.

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

Многоуровневая фабрика сокетов для подключений TLS/SSL на основе JSSE.

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

Многоуровневая фабрика сокетов для подключений TLS/SSL на основе JSSE.

Применяется к