SSLCertificateSocketFactory Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Implementação do SSLSocketFactory com vários recursos extras:
<ul>
<li>Timeout specification for SSL handshake operations
<li>Hostname verification in most cases (see WARNINGs below)
<li>Optional SSL session caching with <code data-dev-comment-type="c">SSLSessionCache</code><li>Optionally bypass all SSL certificate checks
</ul>
The handshake timeout does not apply to actual TCP socket connection.
[Android.Runtime.Register("android/net/SSLCertificateSocketFactory", DoNotGenerateAcw=true)]
public class SSLCertificateSocketFactory : Javax.Net.Ssl.SSLSocketFactory
[<Android.Runtime.Register("android/net/SSLCertificateSocketFactory", DoNotGenerateAcw=true)>]
type SSLCertificateSocketFactory = class
inherit SSLSocketFactory
- Herança
- Atributos
Comentários
Implementação do SSLSocketFactory com vários recursos extras:
<ul><li>Especificação de tempo limite para operações <de handshake SSL li>Verificação de nome de host na maioria dos casos (consulte WARNINGs abaixo) <li>Cache de sessão SSL opcional com SSLSessionCache<li>Opcionalmente ignorar todas as verificações <de certificado SSL /ul>
O tempo limite do handshake não se aplica à conexão de soquete TCP real. Se você quiser um tempo limite de conexão também, use #createSocket() e Socket#connect(java.net.SocketAddress, int), após o qual você deve verificar a identidade do servidor ao qual está conectado.
<b>A maioria das SSLSocketFactory implementações não verifica a identidade do servidor, permitindo ataques pessoais no meio.</b> Essa implementação verifica o nome do host do certificado do servidor, mas apenas para variantes createSocket que especificam um nome de host. Ao usar métodos que usam InetAddress ou que retornam um soquete não conectado, você deve verificar a identidade do servidor por conta própria para garantir uma conexão segura.
Consulte a atualização do provedor de segurança para proteger contra explorações SSL para obter mais informações.
A maneira recomendada de verificar a identidade do servidor é usar HttpsURLConnection#getDefaultHostnameVerifier() para obter um HostnameVerifier para verificar o nome do host do certificado.
<b>Aviso</b>: alguns métodos nessa classe retornam soquetes conectados e outros retornam soquetes não conectados. Para os métodos que retornam soquetes conectados, definir propriedades relacionadas à conexão ou handshake nesses soquetes não terá efeito.
Em dispositivos de desenvolvimento, "setprop socket.relaxsslcheck yes" ignora todas as verificações de nome de host e certificado SSL para fins de teste. Essa configuração requer acesso raiz.
Este membro foi preterido. Essa classe tem substituições menos propensas a erros usando APIs padrão. Para criar um SSLSocket, obtenha um SSLSocketFactory de SSLSocketFactory#getDefault() ou javax.net.ssl.SSLContext#getSocketFactory(). Para verificar nomes de host, passe "HTTPS" para javax.net.ssl.SSLParameters#setEndpointIdentificationAlgorithm(String). Para habilitar o ALPN, use javax.net.ssl.SSLParameters#setApplicationProtocols(String[]). Para habilitar o SNI, use javax.net.ssl.SSLParameters#setServerNames(java.util.List).
Java documentação para android.net.SSLCertificateSocketFactory.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.
Construtores
| Nome | Description |
|---|---|
| SSLCertificateSocketFactory(Int32) |
Obsoleto.
Este membro foi preterido. |
| SSLCertificateSocketFactory(IntPtr, JniHandleOwnership) |
Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo runtime. |
Propriedades
| Nome | Description |
|---|---|
| Class |
Retorna a classe de runtime deste |
| Handle |
O identificador para a instância subjacente do Android. (Herdado de Object) |
| JniIdentityHashCode |
Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade. (Herdado de Object) |
| JniPeerMembers |
Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código. |
| PeerReference |
Obtém a referência de objeto JNI para este par Java. (Herdado de Object) |
| ThresholdClass |
Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código. |
| ThresholdType |
Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código. |
Métodos
| Nome | Description |
|---|---|
| Clone() |
Cria e retorna uma cópia desse objeto. (Herdado de Object) |
| CreateSocket() |
Cria um soquete não conectado. (Herdado de SocketFactory) |
| CreateSocket(InetAddress, Int32, InetAddress, Int32) |
Obsoleto.
Cria soquete. |
| CreateSocket(InetAddress, Int32) |
Obsoleto.
Cria soquete. |
| CreateSocket(Socket, String, Int32, Boolean) |
Obsoleto.
Cria soquete. |
| CreateSocket(String, Int32, InetAddress, Int32) |
Obsoleto.
Cria soquete. |
| CreateSocket(String, Int32) |
Obsoleto.
Cria soquete. |
| Dispose() |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| Dispose(Boolean) |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| Equals(Object) |
Indica se algum outro objeto é "igual a" este. (Herdado de Object) |
| GetDefault(Int32, SSLSessionCache) |
Retorna uma nova instância de fábrica de soquetes com um tempo limite opcional de handshake e cache de sessão SSL. |
| GetDefault(Int32) |
Retorna uma nova instância de fábrica de soquetes com um tempo limite opcional de handshake. |
| GetDefaultCipherSuites() |
Obsoleto.
Retorna os nomes dos pacotes de criptografia habilitados por padrão. |
| GetHashCode() |
Retorna um valor de código hash para o objeto. (Herdado de Object) |
| GetHttpSocketFactory(Int32, SSLSessionCache) |
Retorna uma fábrica de soquetes (também chamada SSLSocketFactory, mas em um namespace diferente) para uso com a pilha HTTP do Apache. |
| GetInsecure(Int32, SSLSessionCache) |
Retorna uma nova instância de uma fábrica de soquetes com todas as verificações de segurança SSL desabilitadas, usando um tempo limite opcional de handshake e cache de sessão SSL. |
| GetNpnSelectedProtocol(Socket) |
Retorna o protocolo NPN (Next Protocol Negotiation) selecionado por cliente e servidor ou nulo se nenhum protocolo foi negociado. |
| GetSupportedCipherSuites() |
Obsoleto.
Retorna os nomes dos conjuntos de criptografia com suporte e que podem ser habilitados para uma conexão SSL. |
| JavaFinalize() |
Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto. (Herdado de Object) |
| Notify() |
Ativa um único thread que está aguardando no monitor deste objeto. (Herdado de Object) |
| NotifyAll() |
Ativa todos os threads que estão aguardando no monitor deste objeto. (Herdado de Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
Define a propriedade Handle (Herdado de Object) |
| SetHostname(Socket, String) |
Ativa a SNI (Indicação de Nome do Servidor) em um determinado soquete. |
| SetKeyManagers(IKeyManager[]) |
Define os |
| SetNpnProtocols(Byte[][]) |
Define os protocolos NPN (Next Protocol Negotiation) nos quais esse par está interessado. |
| SetTrustManagers(ITrustManager[]) |
Define os |
| SetUseSessionTickets(Socket, Boolean) |
Habilita o suporte ao tíquete de sessão no soquete especificado. |
| ToArray<T>() |
Cria uma matriz gerenciada com base nesse wrapper de matriz Java. (Herdado de Object) |
| ToString() |
Retorna uma representação de cadeia de caracteres do objeto. (Herdado de Object) |
| UnregisterFromRuntime() |
Cancela o registro desse par Java do runtime de interoperabilidade. (Herdado de Object) |
| Wait() |
Faz com que o thread atual aguarde até ser despertado, normalmente por ser <notificado/em> ou <em>interrompido</em>.<> (Herdado de Object) |
| Wait(Int64, Int32) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
| Wait(Int64) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IJavaPeerable.Disposed() |
Notifica o runtime de interoperabilidade de que esse par gerenciado foi descartado. (Herdado de Object) |
| IJavaPeerable.DisposeUnlessReferenced() |
Libera esse par Java, a menos que seja mantido por outra referência gerenciada. (Herdado de Object) |
| IJavaPeerable.Finalized() |
Notifica o runtime de interoperabilidade de que esse par gerenciado foi finalizado. (Herdado de Object) |
| IJavaPeerable.JniManagedPeerState |
Obtém o estado que descreve a relação entre esse par gerenciado e sua referência de JNI. (Herdado de Object) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Define o código de hash de identidade de interoperabilidade para esse par Java. (Herdado de Object) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Define o estado de par gerenciado e JNI para esse par Java. (Herdado de Object) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Define a referência de objeto JNI usada por esse par gerenciado. (Herdado de Object) |
Métodos de Extensão
| Nome | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtém o nome JNI do tipo da instância |
| JavaAs<TResult>(IJavaPeerable) |
Tente coagir a digitar |
| JavaCast<TResult>(IJavaObject) |
Executa uma conversão de tipo marcada por runtime do Android. |
| JavaCast<TResult>(IJavaObject) |
Implementação do SSLSocketFactory com vários recursos extras:
|
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Tente coagir a digitar |