.class public Lorg/apache/http/conn/ssl/SSLSocketFactory; .super Ljava/lang/Object; .source "SSLSocketFactory.java" # interfaces .implements Lorg/apache/http/conn/socket/LayeredConnectionSocketFactory; .implements Lorg/apache/http/conn/scheme/SchemeLayeredSocketFactory; .implements Lorg/apache/http/conn/scheme/LayeredSchemeSocketFactory; .implements Lorg/apache/http/conn/scheme/LayeredSocketFactory; # annotations .annotation runtime Ljava/lang/Deprecated; .end annotation # static fields .field public static final ALLOW_ALL_HOSTNAME_VERIFIER:Lorg/apache/http/conn/ssl/X509HostnameVerifier; .field public static final BROWSER_COMPATIBLE_HOSTNAME_VERIFIER:Lorg/apache/http/conn/ssl/X509HostnameVerifier; .field public static final SSL:Ljava/lang/String; = "SSL" .field public static final SSLV2:Ljava/lang/String; = "SSLv2" .field public static final STRICT_HOSTNAME_VERIFIER:Lorg/apache/http/conn/ssl/X509HostnameVerifier; .field public static final TLS:Ljava/lang/String; = "TLS" # instance fields .field private volatile hostnameVerifier:Lorg/apache/http/conn/ssl/X509HostnameVerifier; .field private final nameResolver:Lorg/apache/http/conn/scheme/HostNameResolver; .field private final socketfactory:Ljavax/net/ssl/SSLSocketFactory; .field private final supportedCipherSuites:[Ljava/lang/String; .field private final supportedProtocols:[Ljava/lang/String; # direct methods .method static constructor ()V .registers 1 .line 153 new-instance v0, Lorg/apache/http/conn/ssl/AllowAllHostnameVerifier; invoke-direct {v0}, Lorg/apache/http/conn/ssl/AllowAllHostnameVerifier;->()V sput-object v0, Lorg/apache/http/conn/ssl/SSLSocketFactory;->ALLOW_ALL_HOSTNAME_VERIFIER:Lorg/apache/http/conn/ssl/X509HostnameVerifier; .line 156 new-instance v0, Lorg/apache/http/conn/ssl/BrowserCompatHostnameVerifier; invoke-direct {v0}, Lorg/apache/http/conn/ssl/BrowserCompatHostnameVerifier;->()V sput-object v0, Lorg/apache/http/conn/ssl/SSLSocketFactory;->BROWSER_COMPATIBLE_HOSTNAME_VERIFIER:Lorg/apache/http/conn/ssl/X509HostnameVerifier; .line 159 new-instance v0, Lorg/apache/http/conn/ssl/StrictHostnameVerifier; invoke-direct {v0}, Lorg/apache/http/conn/ssl/StrictHostnameVerifier;->()V sput-object v0, Lorg/apache/http/conn/ssl/SSLSocketFactory;->STRICT_HOSTNAME_VERIFIER:Lorg/apache/http/conn/ssl/X509HostnameVerifier; return-void .end method .method public constructor (Ljava/lang/String;Ljava/security/KeyStore;Ljava/lang/String;Ljava/security/KeyStore;Ljava/security/SecureRandom;Lorg/apache/http/conn/scheme/HostNameResolver;)V .registers 8 .annotation system Ldalvik/annotation/Throws; value = { Ljava/security/NoSuchAlgorithmException;, Ljava/security/KeyManagementException;, Ljava/security/KeyStoreException;, Ljava/security/UnrecoverableKeyException; } .end annotation .line 214 invoke-static {}, Lorg/apache/http/conn/ssl/SSLContexts;->custom()Lorg/apache/http/conn/ssl/SSLContextBuilder; move-result-object v0 invoke-virtual {v0, p1}, Lorg/apache/http/conn/ssl/SSLContextBuilder;->useProtocol(Ljava/lang/String;)Lorg/apache/http/conn/ssl/SSLContextBuilder; move-result-object p1 invoke-virtual {p1, p5}, Lorg/apache/http/conn/ssl/SSLContextBuilder;->setSecureRandom(Ljava/security/SecureRandom;)Lorg/apache/http/conn/ssl/SSLContextBuilder; move-result-object p1 if-eqz p3, :cond_13 invoke-virtual {p3}, Ljava/lang/String;->toCharArray()[C move-result-object p3 goto :goto_14 :cond_13 const/4 p3, 0x0 :goto_14 invoke-virtual {p1, p2, p3}, Lorg/apache/http/conn/ssl/SSLContextBuilder;->loadKeyMaterial(Ljava/security/KeyStore;[C)Lorg/apache/http/conn/ssl/SSLContextBuilder; move-result-object p1 invoke-virtual {p1, p4}, Lorg/apache/http/conn/ssl/SSLContextBuilder;->loadTrustMaterial(Ljava/security/KeyStore;)Lorg/apache/http/conn/ssl/SSLContextBuilder; move-result-object p1 invoke-virtual {p1}, Lorg/apache/http/conn/ssl/SSLContextBuilder;->build()Ljavax/net/ssl/SSLContext; move-result-object p1 invoke-direct {p0, p1, p6}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->(Ljavax/net/ssl/SSLContext;Lorg/apache/http/conn/scheme/HostNameResolver;)V return-void .end method .method public constructor (Ljava/lang/String;Ljava/security/KeyStore;Ljava/lang/String;Ljava/security/KeyStore;Ljava/security/SecureRandom;Lorg/apache/http/conn/ssl/TrustStrategy;Lorg/apache/http/conn/ssl/X509HostnameVerifier;)V .registers 9 .annotation system Ldalvik/annotation/Throws; value = { Ljava/security/NoSuchAlgorithmException;, Ljava/security/KeyManagementException;, Ljava/security/KeyStoreException;, Ljava/security/UnrecoverableKeyException; } .end annotation .line 235 invoke-static {}, Lorg/apache/http/conn/ssl/SSLContexts;->custom()Lorg/apache/http/conn/ssl/SSLContextBuilder; move-result-object v0 invoke-virtual {v0, p1}, Lorg/apache/http/conn/ssl/SSLContextBuilder;->useProtocol(Ljava/lang/String;)Lorg/apache/http/conn/ssl/SSLContextBuilder; move-result-object p1 invoke-virtual {p1, p5}, Lorg/apache/http/conn/ssl/SSLContextBuilder;->setSecureRandom(Ljava/security/SecureRandom;)Lorg/apache/http/conn/ssl/SSLContextBuilder; move-result-object p1 if-eqz p3, :cond_13 invoke-virtual {p3}, Ljava/lang/String;->toCharArray()[C move-result-object p3 goto :goto_14 :cond_13 const/4 p3, 0x0 :goto_14 invoke-virtual {p1, p2, p3}, Lorg/apache/http/conn/ssl/SSLContextBuilder;->loadKeyMaterial(Ljava/security/KeyStore;[C)Lorg/apache/http/conn/ssl/SSLContextBuilder; move-result-object p1 invoke-virtual {p1, p4, p6}, Lorg/apache/http/conn/ssl/SSLContextBuilder;->loadTrustMaterial(Ljava/security/KeyStore;Lorg/apache/http/conn/ssl/TrustStrategy;)Lorg/apache/http/conn/ssl/SSLContextBuilder; move-result-object p1 invoke-virtual {p1}, Lorg/apache/http/conn/ssl/SSLContextBuilder;->build()Ljavax/net/ssl/SSLContext; move-result-object p1 invoke-direct {p0, p1, p7}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->(Ljavax/net/ssl/SSLContext;Lorg/apache/http/conn/ssl/X509HostnameVerifier;)V return-void .end method .method public constructor (Ljava/lang/String;Ljava/security/KeyStore;Ljava/lang/String;Ljava/security/KeyStore;Ljava/security/SecureRandom;Lorg/apache/http/conn/ssl/X509HostnameVerifier;)V .registers 8 .annotation system Ldalvik/annotation/Throws; value = { Ljava/security/NoSuchAlgorithmException;, Ljava/security/KeyManagementException;, Ljava/security/KeyStoreException;, Ljava/security/UnrecoverableKeyException; } .end annotation .line 255 invoke-static {}, Lorg/apache/http/conn/ssl/SSLContexts;->custom()Lorg/apache/http/conn/ssl/SSLContextBuilder; move-result-object v0 invoke-virtual {v0, p1}, Lorg/apache/http/conn/ssl/SSLContextBuilder;->useProtocol(Ljava/lang/String;)Lorg/apache/http/conn/ssl/SSLContextBuilder; move-result-object p1 invoke-virtual {p1, p5}, Lorg/apache/http/conn/ssl/SSLContextBuilder;->setSecureRandom(Ljava/security/SecureRandom;)Lorg/apache/http/conn/ssl/SSLContextBuilder; move-result-object p1 if-eqz p3, :cond_13 invoke-virtual {p3}, Ljava/lang/String;->toCharArray()[C move-result-object p3 goto :goto_14 :cond_13 const/4 p3, 0x0 :goto_14 invoke-virtual {p1, p2, p3}, Lorg/apache/http/conn/ssl/SSLContextBuilder;->loadKeyMaterial(Ljava/security/KeyStore;[C)Lorg/apache/http/conn/ssl/SSLContextBuilder; move-result-object p1 invoke-virtual {p1, p4}, Lorg/apache/http/conn/ssl/SSLContextBuilder;->loadTrustMaterial(Ljava/security/KeyStore;)Lorg/apache/http/conn/ssl/SSLContextBuilder; move-result-object p1 invoke-virtual {p1}, Lorg/apache/http/conn/ssl/SSLContextBuilder;->build()Ljavax/net/ssl/SSLContext; move-result-object p1 invoke-direct {p0, p1, p6}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->(Ljavax/net/ssl/SSLContext;Lorg/apache/http/conn/ssl/X509HostnameVerifier;)V return-void .end method .method public constructor (Ljava/security/KeyStore;)V .registers 3 .annotation system Ldalvik/annotation/Throws; value = { Ljava/security/NoSuchAlgorithmException;, Ljava/security/KeyManagementException;, Ljava/security/KeyStoreException;, Ljava/security/UnrecoverableKeyException; } .end annotation .line 289 invoke-static {}, Lorg/apache/http/conn/ssl/SSLContexts;->custom()Lorg/apache/http/conn/ssl/SSLContextBuilder; move-result-object v0 invoke-virtual {v0, p1}, Lorg/apache/http/conn/ssl/SSLContextBuilder;->loadTrustMaterial(Ljava/security/KeyStore;)Lorg/apache/http/conn/ssl/SSLContextBuilder; move-result-object p1 invoke-virtual {p1}, Lorg/apache/http/conn/ssl/SSLContextBuilder;->build()Ljavax/net/ssl/SSLContext; move-result-object p1 sget-object v0, Lorg/apache/http/conn/ssl/SSLSocketFactory;->BROWSER_COMPATIBLE_HOSTNAME_VERIFIER:Lorg/apache/http/conn/ssl/X509HostnameVerifier; invoke-direct {p0, p1, v0}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->(Ljavax/net/ssl/SSLContext;Lorg/apache/http/conn/ssl/X509HostnameVerifier;)V return-void .end method .method public constructor (Ljava/security/KeyStore;Ljava/lang/String;)V .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Ljava/security/NoSuchAlgorithmException;, Ljava/security/KeyManagementException;, Ljava/security/KeyStoreException;, Ljava/security/UnrecoverableKeyException; } .end annotation .line 280 invoke-static {}, Lorg/apache/http/conn/ssl/SSLContexts;->custom()Lorg/apache/http/conn/ssl/SSLContextBuilder; move-result-object v0 if-eqz p2, :cond_b invoke-virtual {p2}, Ljava/lang/String;->toCharArray()[C move-result-object p2 goto :goto_c :cond_b const/4 p2, 0x0 :goto_c invoke-virtual {v0, p1, p2}, Lorg/apache/http/conn/ssl/SSLContextBuilder;->loadKeyMaterial(Ljava/security/KeyStore;[C)Lorg/apache/http/conn/ssl/SSLContextBuilder; move-result-object p1 invoke-virtual {p1}, Lorg/apache/http/conn/ssl/SSLContextBuilder;->build()Ljavax/net/ssl/SSLContext; move-result-object p1 sget-object p2, Lorg/apache/http/conn/ssl/SSLSocketFactory;->BROWSER_COMPATIBLE_HOSTNAME_VERIFIER:Lorg/apache/http/conn/ssl/X509HostnameVerifier; invoke-direct {p0, p1, p2}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->(Ljavax/net/ssl/SSLContext;Lorg/apache/http/conn/ssl/X509HostnameVerifier;)V return-void .end method .method public constructor (Ljava/security/KeyStore;Ljava/lang/String;Ljava/security/KeyStore;)V .registers 5 .annotation system Ldalvik/annotation/Throws; value = { Ljava/security/NoSuchAlgorithmException;, Ljava/security/KeyManagementException;, Ljava/security/KeyStoreException;, Ljava/security/UnrecoverableKeyException; } .end annotation .line 269 invoke-static {}, Lorg/apache/http/conn/ssl/SSLContexts;->custom()Lorg/apache/http/conn/ssl/SSLContextBuilder; move-result-object v0 if-eqz p2, :cond_b invoke-virtual {p2}, Ljava/lang/String;->toCharArray()[C move-result-object p2 goto :goto_c :cond_b const/4 p2, 0x0 :goto_c invoke-virtual {v0, p1, p2}, Lorg/apache/http/conn/ssl/SSLContextBuilder;->loadKeyMaterial(Ljava/security/KeyStore;[C)Lorg/apache/http/conn/ssl/SSLContextBuilder; move-result-object p1 invoke-virtual {p1, p3}, Lorg/apache/http/conn/ssl/SSLContextBuilder;->loadTrustMaterial(Ljava/security/KeyStore;)Lorg/apache/http/conn/ssl/SSLContextBuilder; move-result-object p1 invoke-virtual {p1}, Lorg/apache/http/conn/ssl/SSLContextBuilder;->build()Ljavax/net/ssl/SSLContext; move-result-object p1 sget-object p2, Lorg/apache/http/conn/ssl/SSLSocketFactory;->BROWSER_COMPATIBLE_HOSTNAME_VERIFIER:Lorg/apache/http/conn/ssl/X509HostnameVerifier; invoke-direct {p0, p1, p2}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->(Ljavax/net/ssl/SSLContext;Lorg/apache/http/conn/ssl/X509HostnameVerifier;)V return-void .end method .method public constructor (Ljavax/net/ssl/SSLContext;)V .registers 3 .line 321 sget-object v0, Lorg/apache/http/conn/ssl/SSLSocketFactory;->BROWSER_COMPATIBLE_HOSTNAME_VERIFIER:Lorg/apache/http/conn/ssl/X509HostnameVerifier; invoke-direct {p0, p1, v0}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->(Ljavax/net/ssl/SSLContext;Lorg/apache/http/conn/ssl/X509HostnameVerifier;)V return-void .end method .method public constructor (Ljavax/net/ssl/SSLContext;Lorg/apache/http/conn/scheme/HostNameResolver;)V .registers 3 .line 326 invoke-direct {p0}, Ljava/lang/Object;->()V .line 327 invoke-virtual {p1}, Ljavax/net/ssl/SSLContext;->getSocketFactory()Ljavax/net/ssl/SSLSocketFactory; move-result-object p1 iput-object p1, p0, Lorg/apache/http/conn/ssl/SSLSocketFactory;->socketfactory:Ljavax/net/ssl/SSLSocketFactory; .line 328 sget-object p1, Lorg/apache/http/conn/ssl/SSLSocketFactory;->BROWSER_COMPATIBLE_HOSTNAME_VERIFIER:Lorg/apache/http/conn/ssl/X509HostnameVerifier; iput-object p1, p0, Lorg/apache/http/conn/ssl/SSLSocketFactory;->hostnameVerifier:Lorg/apache/http/conn/ssl/X509HostnameVerifier; .line 329 iput-object p2, p0, Lorg/apache/http/conn/ssl/SSLSocketFactory;->nameResolver:Lorg/apache/http/conn/scheme/HostNameResolver; const/4 p1, 0x0 .line 330 iput-object p1, p0, Lorg/apache/http/conn/ssl/SSLSocketFactory;->supportedProtocols:[Ljava/lang/String; .line 331 iput-object p1, p0, Lorg/apache/http/conn/ssl/SSLSocketFactory;->supportedCipherSuites:[Ljava/lang/String; return-void .end method .method public constructor (Ljavax/net/ssl/SSLContext;Lorg/apache/http/conn/ssl/X509HostnameVerifier;)V .registers 4 .line 339 const-string v0, "SSL context" invoke-static {p1, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; move-result-object p1 check-cast p1, Ljavax/net/ssl/SSLContext; invoke-virtual {p1}, Ljavax/net/ssl/SSLContext;->getSocketFactory()Ljavax/net/ssl/SSLSocketFactory; move-result-object p1 const/4 v0, 0x0 invoke-direct {p0, p1, v0, v0, p2}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->(Ljavax/net/ssl/SSLSocketFactory;[Ljava/lang/String;[Ljava/lang/String;Lorg/apache/http/conn/ssl/X509HostnameVerifier;)V return-void .end method .method public constructor (Ljavax/net/ssl/SSLContext;[Ljava/lang/String;[Ljava/lang/String;Lorg/apache/http/conn/ssl/X509HostnameVerifier;)V .registers 6 .line 351 const-string v0, "SSL context" invoke-static {p1, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; move-result-object p1 check-cast p1, Ljavax/net/ssl/SSLContext; invoke-virtual {p1}, Ljavax/net/ssl/SSLContext;->getSocketFactory()Ljavax/net/ssl/SSLSocketFactory; move-result-object p1 invoke-direct {p0, p1, p2, p3, p4}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->(Ljavax/net/ssl/SSLSocketFactory;[Ljava/lang/String;[Ljava/lang/String;Lorg/apache/http/conn/ssl/X509HostnameVerifier;)V return-void .end method .method public constructor (Ljavax/net/ssl/SSLSocketFactory;Lorg/apache/http/conn/ssl/X509HostnameVerifier;)V .registers 4 const/4 v0, 0x0 .line 361 invoke-direct {p0, p1, v0, v0, p2}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->(Ljavax/net/ssl/SSLSocketFactory;[Ljava/lang/String;[Ljava/lang/String;Lorg/apache/http/conn/ssl/X509HostnameVerifier;)V return-void .end method .method public constructor (Ljavax/net/ssl/SSLSocketFactory;[Ljava/lang/String;[Ljava/lang/String;Lorg/apache/http/conn/ssl/X509HostnameVerifier;)V .registers 6 .line 371 invoke-direct {p0}, Ljava/lang/Object;->()V .line 372 const-string v0, "SSL socket factory" invoke-static {p1, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; move-result-object p1 check-cast p1, Ljavax/net/ssl/SSLSocketFactory; iput-object p1, p0, Lorg/apache/http/conn/ssl/SSLSocketFactory;->socketfactory:Ljavax/net/ssl/SSLSocketFactory; .line 373 iput-object p2, p0, Lorg/apache/http/conn/ssl/SSLSocketFactory;->supportedProtocols:[Ljava/lang/String; .line 374 iput-object p3, p0, Lorg/apache/http/conn/ssl/SSLSocketFactory;->supportedCipherSuites:[Ljava/lang/String; if-eqz p4, :cond_14 goto :goto_16 .line 375 :cond_14 sget-object p4, Lorg/apache/http/conn/ssl/SSLSocketFactory;->BROWSER_COMPATIBLE_HOSTNAME_VERIFIER:Lorg/apache/http/conn/ssl/X509HostnameVerifier; :goto_16 iput-object p4, p0, Lorg/apache/http/conn/ssl/SSLSocketFactory;->hostnameVerifier:Lorg/apache/http/conn/ssl/X509HostnameVerifier; const/4 p1, 0x0 .line 376 iput-object p1, p0, Lorg/apache/http/conn/ssl/SSLSocketFactory;->nameResolver:Lorg/apache/http/conn/scheme/HostNameResolver; return-void .end method .method public constructor (Lorg/apache/http/conn/ssl/TrustStrategy;)V .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Ljava/security/NoSuchAlgorithmException;, Ljava/security/KeyManagementException;, Ljava/security/KeyStoreException;, Ljava/security/UnrecoverableKeyException; } .end annotation .line 314 invoke-static {}, Lorg/apache/http/conn/ssl/SSLContexts;->custom()Lorg/apache/http/conn/ssl/SSLContextBuilder; move-result-object v0 const/4 v1, 0x0 invoke-virtual {v0, v1, p1}, Lorg/apache/http/conn/ssl/SSLContextBuilder;->loadTrustMaterial(Ljava/security/KeyStore;Lorg/apache/http/conn/ssl/TrustStrategy;)Lorg/apache/http/conn/ssl/SSLContextBuilder; move-result-object p1 invoke-virtual {p1}, Lorg/apache/http/conn/ssl/SSLContextBuilder;->build()Ljavax/net/ssl/SSLContext; move-result-object p1 sget-object v0, Lorg/apache/http/conn/ssl/SSLSocketFactory;->BROWSER_COMPATIBLE_HOSTNAME_VERIFIER:Lorg/apache/http/conn/ssl/X509HostnameVerifier; invoke-direct {p0, p1, v0}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->(Ljavax/net/ssl/SSLContext;Lorg/apache/http/conn/ssl/X509HostnameVerifier;)V return-void .end method .method public constructor (Lorg/apache/http/conn/ssl/TrustStrategy;Lorg/apache/http/conn/ssl/X509HostnameVerifier;)V .registers 5 .annotation system Ldalvik/annotation/Throws; value = { Ljava/security/NoSuchAlgorithmException;, Ljava/security/KeyManagementException;, Ljava/security/KeyStoreException;, Ljava/security/UnrecoverableKeyException; } .end annotation .line 302 invoke-static {}, Lorg/apache/http/conn/ssl/SSLContexts;->custom()Lorg/apache/http/conn/ssl/SSLContextBuilder; move-result-object v0 const/4 v1, 0x0 invoke-virtual {v0, v1, p1}, Lorg/apache/http/conn/ssl/SSLContextBuilder;->loadTrustMaterial(Ljava/security/KeyStore;Lorg/apache/http/conn/ssl/TrustStrategy;)Lorg/apache/http/conn/ssl/SSLContextBuilder; move-result-object p1 invoke-virtual {p1}, Lorg/apache/http/conn/ssl/SSLContextBuilder;->build()Ljavax/net/ssl/SSLContext; move-result-object p1 invoke-direct {p0, p1, p2}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->(Ljavax/net/ssl/SSLContext;Lorg/apache/http/conn/ssl/X509HostnameVerifier;)V return-void .end method .method public static getSocketFactory()Lorg/apache/http/conn/ssl/SSLSocketFactory; .registers 3 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/conn/ssl/SSLInitializationException; } .end annotation .line 170 new-instance v0, Lorg/apache/http/conn/ssl/SSLSocketFactory; invoke-static {}, Lorg/apache/http/conn/ssl/SSLContexts;->createDefault()Ljavax/net/ssl/SSLContext; move-result-object v1 sget-object v2, Lorg/apache/http/conn/ssl/SSLSocketFactory;->BROWSER_COMPATIBLE_HOSTNAME_VERIFIER:Lorg/apache/http/conn/ssl/X509HostnameVerifier; invoke-direct {v0, v1, v2}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->(Ljavax/net/ssl/SSLContext;Lorg/apache/http/conn/ssl/X509HostnameVerifier;)V return-object v0 .end method .method public static getSystemSocketFactory()Lorg/apache/http/conn/ssl/SSLSocketFactory; .registers 5 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/conn/ssl/SSLInitializationException; } .end annotation .line 192 new-instance v0, Lorg/apache/http/conn/ssl/SSLSocketFactory; invoke-static {}, Ljavax/net/ssl/SSLSocketFactory;->getDefault()Ljavax/net/SocketFactory; move-result-object v1 check-cast v1, Ljavax/net/ssl/SSLSocketFactory; const-string v2, "https.protocols" invoke-static {v2}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String; move-result-object v2 invoke-static {v2}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->split(Ljava/lang/String;)[Ljava/lang/String; move-result-object v2 const-string v3, "https.cipherSuites" invoke-static {v3}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String; move-result-object v3 invoke-static {v3}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->split(Ljava/lang/String;)[Ljava/lang/String; move-result-object v3 sget-object v4, Lorg/apache/http/conn/ssl/SSLSocketFactory;->BROWSER_COMPATIBLE_HOSTNAME_VERIFIER:Lorg/apache/http/conn/ssl/X509HostnameVerifier; invoke-direct {v0, v1, v2, v3, v4}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->(Ljavax/net/ssl/SSLSocketFactory;[Ljava/lang/String;[Ljava/lang/String;Lorg/apache/http/conn/ssl/X509HostnameVerifier;)V return-object v0 .end method .method private internalPrepareSocket(Ljavax/net/ssl/SSLSocket;)V .registers 3 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 513 iget-object v0, p0, Lorg/apache/http/conn/ssl/SSLSocketFactory;->supportedProtocols:[Ljava/lang/String; if-eqz v0, :cond_7 .line 514 invoke-virtual {p1, v0}, Ljavax/net/ssl/SSLSocket;->setEnabledProtocols([Ljava/lang/String;)V .line 516 :cond_7 iget-object v0, p0, Lorg/apache/http/conn/ssl/SSLSocketFactory;->supportedCipherSuites:[Ljava/lang/String; if-eqz v0, :cond_e .line 517 invoke-virtual {p1, v0}, Ljavax/net/ssl/SSLSocket;->setEnabledCipherSuites([Ljava/lang/String;)V .line 519 :cond_e invoke-virtual {p0, p1}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->prepareSocket(Ljavax/net/ssl/SSLSocket;)V return-void .end method .method private static split(Ljava/lang/String;)[Ljava/lang/String; .registers 2 .line 176 invoke-static {p0}, Lorg/apache/http/util/TextUtils;->isBlank(Ljava/lang/CharSequence;)Z move-result v0 if-eqz v0, :cond_8 const/4 p0, 0x0 return-object p0 .line 179 :cond_8 const-string v0, " *, *" invoke-virtual {p0, v0}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; move-result-object p0 return-object p0 .end method .method private verifyHostname(Ljavax/net/ssl/SSLSocket;Ljava/lang/String;)V .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 580 :try_start_0 iget-object v0, p0, Lorg/apache/http/conn/ssl/SSLSocketFactory;->hostnameVerifier:Lorg/apache/http/conn/ssl/X509HostnameVerifier; invoke-interface {v0, p2, p1}, Lorg/apache/http/conn/ssl/X509HostnameVerifier;->verify(Ljava/lang/String;Ljavax/net/ssl/SSLSocket;)V :try_end_5 .catch Ljava/io/IOException; {:try_start_0 .. :try_end_5} :catch_6 return-void :catch_6 move-exception p2 .line 584 :try_start_7 invoke-virtual {p1}, Ljavax/net/ssl/SSLSocket;->close()V :try_end_a .catch Ljava/lang/Exception; {:try_start_7 .. :try_end_a} :catch_a .line 585 :catch_a throw p2 .end method # virtual methods .method public connectSocket(ILjava/net/Socket;Lorg/apache/http/HttpHost;Ljava/net/InetSocketAddress;Ljava/net/InetSocketAddress;Lorg/apache/http/protocol/HttpContext;)Ljava/net/Socket; .registers 8 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 535 const-string v0, "HTTP host" invoke-static {p3, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 536 const-string v0, "Remote address" invoke-static {p4, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; if-eqz p2, :cond_d goto :goto_11 .line 537 :cond_d invoke-virtual {p0, p6}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->createSocket(Lorg/apache/http/protocol/HttpContext;)Ljava/net/Socket; move-result-object p2 :goto_11 if-eqz p5, :cond_16 .line 539 invoke-virtual {p2, p5}, Ljava/net/Socket;->bind(Ljava/net/SocketAddress;)V .line 542 :cond_16 :try_start_16 invoke-virtual {p2, p4, p1}, Ljava/net/Socket;->connect(Ljava/net/SocketAddress;I)V :try_end_19 .catch Ljava/io/IOException; {:try_start_16 .. :try_end_19} :catch_38 .line 551 instance-of p1, p2, Ljavax/net/ssl/SSLSocket; if-eqz p1, :cond_2b .line 552 move-object p1, p2 check-cast p1, Ljavax/net/ssl/SSLSocket; .line 553 invoke-virtual {p1}, Ljavax/net/ssl/SSLSocket;->startHandshake()V .line 554 invoke-virtual {p3}, Lorg/apache/http/HttpHost;->getHostName()Ljava/lang/String; move-result-object p3 invoke-direct {p0, p1, p3}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->verifyHostname(Ljavax/net/ssl/SSLSocket;Ljava/lang/String;)V return-object p2 .line 557 :cond_2b invoke-virtual {p3}, Lorg/apache/http/HttpHost;->getHostName()Ljava/lang/String; move-result-object p1 invoke-virtual {p4}, Ljava/net/InetSocketAddress;->getPort()I move-result p3 invoke-virtual {p0, p2, p1, p3, p6}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->createLayeredSocket(Ljava/net/Socket;Ljava/lang/String;ILorg/apache/http/protocol/HttpContext;)Ljava/net/Socket; move-result-object p1 return-object p1 :catch_38 move-exception p1 .line 545 :try_start_39 invoke-virtual {p2}, Ljava/net/Socket;->close()V :try_end_3c .catch Ljava/io/IOException; {:try_start_39 .. :try_end_3c} :catch_3c .line 548 :catch_3c throw p1 .end method .method public connectSocket(Ljava/net/Socket;Ljava/lang/String;ILjava/net/InetAddress;ILorg/apache/http/params/HttpParams;)Ljava/net/Socket; .registers 9 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException;, Ljava/net/UnknownHostException;, Lorg/apache/http/conn/ConnectTimeoutException; } .end annotation .line 477 iget-object v0, p0, Lorg/apache/http/conn/ssl/SSLSocketFactory;->nameResolver:Lorg/apache/http/conn/scheme/HostNameResolver; if-eqz v0, :cond_9 .line 478 invoke-interface {v0, p2}, Lorg/apache/http/conn/scheme/HostNameResolver;->resolve(Ljava/lang/String;)Ljava/net/InetAddress; move-result-object v0 goto :goto_d .line 480 :cond_9 invoke-static {p2}, Ljava/net/InetAddress;->getByName(Ljava/lang/String;)Ljava/net/InetAddress; move-result-object v0 :goto_d if-nez p4, :cond_14 if-lez p5, :cond_12 goto :goto_14 :cond_12 const/4 p4, 0x0 goto :goto_1e .line 484 :cond_14 :goto_14 new-instance v1, Ljava/net/InetSocketAddress; if-lez p5, :cond_19 goto :goto_1a :cond_19 const/4 p5, 0x0 :goto_1a invoke-direct {v1, p4, p5}, Ljava/net/InetSocketAddress;->(Ljava/net/InetAddress;I)V move-object p4, v1 .line 486 :goto_1e new-instance p5, Lorg/apache/http/conn/HttpInetSocketAddress; new-instance v1, Lorg/apache/http/HttpHost; invoke-direct {v1, p2, p3}, Lorg/apache/http/HttpHost;->(Ljava/lang/String;I)V invoke-direct {p5, v1, v0, p3}, Lorg/apache/http/conn/HttpInetSocketAddress;->(Lorg/apache/http/HttpHost;Ljava/net/InetAddress;I)V .line 488 invoke-virtual {p0, p1, p5, p4, p6}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->connectSocket(Ljava/net/Socket;Ljava/net/InetSocketAddress;Ljava/net/InetSocketAddress;Lorg/apache/http/params/HttpParams;)Ljava/net/Socket; move-result-object p1 return-object p1 .end method .method public connectSocket(Ljava/net/Socket;Ljava/net/InetSocketAddress;Ljava/net/InetSocketAddress;Lorg/apache/http/params/HttpParams;)Ljava/net/Socket; .registers 16 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException;, Ljava/net/UnknownHostException;, Lorg/apache/http/conn/ConnectTimeoutException; } .end annotation .line 403 const-string v0, "Remote address" invoke-static {p2, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 404 const-string v0, "HTTP parameters" invoke-static {p4, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 406 instance-of v0, p2, Lorg/apache/http/conn/HttpInetSocketAddress; if-eqz v0, :cond_16 .line 407 move-object v0, p2 check-cast v0, Lorg/apache/http/conn/HttpInetSocketAddress; invoke-virtual {v0}, Lorg/apache/http/conn/HttpInetSocketAddress;->getHttpHost()Lorg/apache/http/HttpHost; move-result-object v0 goto :goto_25 .line 409 :cond_16 new-instance v0, Lorg/apache/http/HttpHost; invoke-virtual {p2}, Ljava/net/InetSocketAddress;->getHostName()Ljava/lang/String; move-result-object v1 invoke-virtual {p2}, Ljava/net/InetSocketAddress;->getPort()I move-result v2 const-string v3, "https" invoke-direct {v0, v1, v2, v3}, Lorg/apache/http/HttpHost;->(Ljava/lang/String;ILjava/lang/String;)V :goto_25 move-object v7, v0 .line 411 invoke-static {p4}, Lorg/apache/http/params/HttpConnectionParams;->getSoTimeout(Lorg/apache/http/params/HttpParams;)I move-result v0 .line 412 invoke-static {p4}, Lorg/apache/http/params/HttpConnectionParams;->getConnectionTimeout(Lorg/apache/http/params/HttpParams;)I move-result v5 .line 413 invoke-virtual {p1, v0}, Ljava/net/Socket;->setSoTimeout(I)V const/4 v10, 0x0 move-object v4, p0 move-object v6, p1 move-object v8, p2 move-object v9, p3 .line 414 invoke-virtual/range {v4 .. v10}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->connectSocket(ILjava/net/Socket;Lorg/apache/http/HttpHost;Ljava/net/InetSocketAddress;Ljava/net/InetSocketAddress;Lorg/apache/http/protocol/HttpContext;)Ljava/net/Socket; move-result-object p1 return-object p1 .end method .method public createLayeredSocket(Ljava/net/Socket;Ljava/lang/String;ILorg/apache/http/params/HttpParams;)Ljava/net/Socket; .registers 6 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException;, Ljava/net/UnknownHostException; } .end annotation const/4 p4, 0x0 .line 449 move-object v0, p4 check-cast v0, Lorg/apache/http/protocol/HttpContext; invoke-virtual {p0, p1, p2, p3, p4}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->createLayeredSocket(Ljava/net/Socket;Ljava/lang/String;ILorg/apache/http/protocol/HttpContext;)Ljava/net/Socket; move-result-object p1 return-object p1 .end method .method public createLayeredSocket(Ljava/net/Socket;Ljava/lang/String;ILorg/apache/http/protocol/HttpContext;)Ljava/net/Socket; .registers 6 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 567 iget-object p4, p0, Lorg/apache/http/conn/ssl/SSLSocketFactory;->socketfactory:Ljavax/net/ssl/SSLSocketFactory; const/4 v0, 0x1 invoke-virtual {p4, p1, p2, p3, v0}, Ljavax/net/ssl/SSLSocketFactory;->createSocket(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket; move-result-object p1 check-cast p1, Ljavax/net/ssl/SSLSocket; .line 572 invoke-direct {p0, p1}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->internalPrepareSocket(Ljavax/net/ssl/SSLSocket;)V .line 573 invoke-virtual {p1}, Ljavax/net/ssl/SSLSocket;->startHandshake()V .line 574 invoke-direct {p0, p1, p2}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->verifyHostname(Ljavax/net/ssl/SSLSocket;Ljava/lang/String;)V return-object p1 .end method .method public createLayeredSocket(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket; .registers 6 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException;, Ljava/net/UnknownHostException; } .end annotation const/4 p4, 0x0 .line 458 move-object v0, p4 check-cast v0, Lorg/apache/http/protocol/HttpContext; invoke-virtual {p0, p1, p2, p3, p4}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->createLayeredSocket(Ljava/net/Socket;Ljava/lang/String;ILorg/apache/http/protocol/HttpContext;)Ljava/net/Socket; move-result-object p1 return-object p1 .end method .method public createSocket()Ljava/net/Socket; .registers 3 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const/4 v0, 0x0 .line 391 move-object v1, v0 check-cast v1, Lorg/apache/http/protocol/HttpContext; invoke-virtual {p0, v0}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->createSocket(Lorg/apache/http/protocol/HttpContext;)Ljava/net/Socket; move-result-object v0 return-object v0 .end method .method public createSocket(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket; .registers 5 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException;, Ljava/net/UnknownHostException; } .end annotation .line 496 invoke-virtual {p0, p1, p2, p3, p4}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->createLayeredSocket(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket; move-result-object p1 return-object p1 .end method .method public createSocket(Lorg/apache/http/params/HttpParams;)Ljava/net/Socket; .registers 3 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const/4 p1, 0x0 .line 386 move-object v0, p1 check-cast v0, Lorg/apache/http/protocol/HttpContext; invoke-virtual {p0, p1}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->createSocket(Lorg/apache/http/protocol/HttpContext;)Ljava/net/Socket; move-result-object p1 return-object p1 .end method .method public createSocket(Lorg/apache/http/protocol/HttpContext;)Ljava/net/Socket; .registers 2 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 524 invoke-static {}, Ljavax/net/SocketFactory;->getDefault()Ljavax/net/SocketFactory; move-result-object p1 invoke-virtual {p1}, Ljavax/net/SocketFactory;->createSocket()Ljava/net/Socket; move-result-object p1 return-object p1 .end method .method public getHostnameVerifier()Lorg/apache/http/conn/ssl/X509HostnameVerifier; .registers 2 .line 467 iget-object v0, p0, Lorg/apache/http/conn/ssl/SSLSocketFactory;->hostnameVerifier:Lorg/apache/http/conn/ssl/X509HostnameVerifier; return-object v0 .end method .method public isSecure(Ljava/net/Socket;)Z .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Ljava/lang/IllegalArgumentException; } .end annotation .line 434 const-string v0, "Socket" invoke-static {p1, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 435 instance-of v0, p1, Ljavax/net/ssl/SSLSocket; const-string v1, "Socket not created by this factory" invoke-static {v0, v1}, Lorg/apache/http/util/Asserts;->check(ZLjava/lang/String;)V .line 436 invoke-virtual {p1}, Ljava/net/Socket;->isClosed()Z move-result p1 const/4 v0, 0x1 xor-int/2addr p1, v0 const-string v1, "Socket is closed" invoke-static {p1, v1}, Lorg/apache/http/util/Asserts;->check(ZLjava/lang/String;)V return v0 .end method .method protected prepareSocket(Ljavax/net/ssl/SSLSocket;)V .registers 2 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation return-void .end method .method public setHostnameVerifier(Lorg/apache/http/conn/ssl/X509HostnameVerifier;)V .registers 3 .line 462 const-string v0, "Hostname verifier" invoke-static {p1, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 463 iput-object p1, p0, Lorg/apache/http/conn/ssl/SSLSocketFactory;->hostnameVerifier:Lorg/apache/http/conn/ssl/X509HostnameVerifier; return-void .end method