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
- Наследование
- Атрибуты
- Реализации
Комментарии
Многоуровневая фабрика сокетов для подключений 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 |
Возвращает класс среды выполнения этого |
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. |