.class public Lcsdk/glucentralservices/network/GluTLS12SocketFactory; .super Ljavax/net/ssl/SSLSocketFactory; .source "SourceFile" # static fields .field private static final SUPPORTED_PROTOCOLS:[Ljava/lang/String; .field private static final contextLock:Ljava/lang/Object; .field private static sslContext:Ljavax/net/ssl/SSLContext; # instance fields .field private final delegate:Ljavax/net/ssl/SSLSocketFactory; # direct methods .method static constructor ()V .locals 1 .line 22 new-instance v0, Ljava/lang/Object; invoke-direct {v0}, Ljava/lang/Object;->()V sput-object v0, Lcsdk/glucentralservices/network/GluTLS12SocketFactory;->contextLock:Ljava/lang/Object; const-string v0, "TLSv1.2" filled-new-array {v0}, [Ljava/lang/String; move-result-object v0 sput-object v0, Lcsdk/glucentralservices/network/GluTLS12SocketFactory;->SUPPORTED_PROTOCOLS:[Ljava/lang/String; const/4 v0, 0x0 sput-object v0, Lcsdk/glucentralservices/network/GluTLS12SocketFactory;->sslContext:Ljavax/net/ssl/SSLContext; return-void .end method .method private constructor (Ljavax/net/ssl/SSLContext;)V .locals 2 .param p1 # Ljavax/net/ssl/SSLContext; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .annotation system Ldalvik/annotation/Throws; value = { Ljava/security/KeyManagementException;, Ljava/security/NoSuchAlgorithmException; } .end annotation .line 61 invoke-direct {p0}, Ljavax/net/ssl/SSLSocketFactory;->()V if-eqz p1, :cond_0 .line 63 invoke-virtual {p1}, Ljavax/net/ssl/SSLContext;->getSocketFactory()Ljavax/net/ssl/SSLSocketFactory; move-result-object p1 iput-object p1, p0, Lcsdk/glucentralservices/network/GluTLS12SocketFactory;->delegate:Ljavax/net/ssl/SSLSocketFactory; goto :goto_1 :cond_0 sget-object p1, Lcsdk/glucentralservices/network/GluTLS12SocketFactory;->contextLock:Ljava/lang/Object; .line 65 monitor-enter p1 :try_start_0 sget-object v0, Lcsdk/glucentralservices/network/GluTLS12SocketFactory;->sslContext:Ljavax/net/ssl/SSLContext; if-nez v0, :cond_1 const-string v0, "TLS" .line 67 invoke-static {v0}, Ljavax/net/ssl/SSLContext;->getInstance(Ljava/lang/String;)Ljavax/net/ssl/SSLContext; move-result-object v0 sput-object v0, Lcsdk/glucentralservices/network/GluTLS12SocketFactory;->sslContext:Ljavax/net/ssl/SSLContext; const/4 v1, 0x0 .line 68 invoke-virtual {v0, v1, v1, v1}, Ljavax/net/ssl/SSLContext;->init([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V goto :goto_0 :catchall_0 move-exception v0 goto :goto_2 .line 70 :cond_1 :goto_0 monitor-exit p1 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 sget-object p1, Lcsdk/glucentralservices/network/GluTLS12SocketFactory;->sslContext:Ljavax/net/ssl/SSLContext; .line 71 invoke-virtual {p1}, Ljavax/net/ssl/SSLContext;->getSocketFactory()Ljavax/net/ssl/SSLSocketFactory; move-result-object p1 iput-object p1, p0, Lcsdk/glucentralservices/network/GluTLS12SocketFactory;->delegate:Ljavax/net/ssl/SSLSocketFactory; :goto_1 return-void .line 70 :goto_2 :try_start_1 monitor-exit p1 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 throw v0 .end method .method public static createGluTLS12SocketFactory()Lcsdk/glucentralservices/network/GluTLS12SocketFactory; .locals 1 .annotation build Landroidx/annotation/Nullable; .end annotation const/4 v0, 0x0 .line 29 invoke-static {v0}, Lcsdk/glucentralservices/network/GluTLS12SocketFactory;->createGluTLS12SocketFactory(Ljavax/net/ssl/SSLContext;)Lcsdk/glucentralservices/network/GluTLS12SocketFactory; move-result-object v0 return-object v0 .end method .method public static createGluTLS12SocketFactory(Ljavax/net/ssl/SSLContext;)Lcsdk/glucentralservices/network/GluTLS12SocketFactory; .locals 0 .param p0 # Ljavax/net/ssl/SSLContext; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .annotation build Landroidx/annotation/Nullable; .end annotation .line 0 const/4 p0, 0x0 return-object p0 .end method .method public static fixTLSPre21(Ljavax/net/ssl/HttpsURLConnection;)V .locals 1 .param p0 # Ljavax/net/ssl/HttpsURLConnection; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 44 invoke-static {}, Lcsdk/glucentralservices/network/GluTLS12SocketFactory;->createGluTLS12SocketFactory()Lcsdk/glucentralservices/network/GluTLS12SocketFactory; move-result-object v0 invoke-static {p0, v0}, Lcsdk/glucentralservices/network/GluTLS12SocketFactory;->fixTLSPre21(Ljavax/net/ssl/HttpsURLConnection;Lcsdk/glucentralservices/network/GluTLS12SocketFactory;)V return-void .end method .method public static fixTLSPre21(Ljavax/net/ssl/HttpsURLConnection;Lcsdk/glucentralservices/network/GluTLS12SocketFactory;)V .locals 0 .param p0 # Ljavax/net/ssl/HttpsURLConnection; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p1 # Lcsdk/glucentralservices/network/GluTLS12SocketFactory; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .line 0 return-void .end method .method private updateTLSProtocols(Ljava/net/Socket;)Ljava/net/Socket; .locals 2 .line 122 instance-of v0, p1, Ljavax/net/ssl/SSLSocket; if-eqz v0, :cond_0 .line 124 :try_start_0 move-object v0, p1 check-cast v0, Ljavax/net/ssl/SSLSocket; sget-object v1, Lcsdk/glucentralservices/network/GluTLS12SocketFactory;->SUPPORTED_PROTOCOLS:[Ljava/lang/String; invoke-virtual {v0, v1}, Ljavax/net/ssl/SSLSocket;->setEnabledProtocols([Ljava/lang/String;)V :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 :catch_0 :cond_0 return-object p1 .end method # virtual methods .method public createSocket()Ljava/net/Socket; .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation iget-object v0, p0, Lcsdk/glucentralservices/network/GluTLS12SocketFactory;->delegate:Ljavax/net/ssl/SSLSocketFactory; .line 87 invoke-virtual {v0}, Ljavax/net/SocketFactory;->createSocket()Ljava/net/Socket; move-result-object v0 check-cast v0, Ljavax/net/ssl/SSLSocket; .line 88 invoke-direct {p0, v0}, Lcsdk/glucentralservices/network/GluTLS12SocketFactory;->updateTLSProtocols(Ljava/net/Socket;)Ljava/net/Socket; move-result-object v0 return-object v0 .end method .method public createSocket(Ljava/lang/String;I)Ljava/net/Socket; .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException;, Ljava/net/UnknownHostException; } .end annotation iget-object v0, p0, Lcsdk/glucentralservices/network/GluTLS12SocketFactory;->delegate:Ljavax/net/ssl/SSLSocketFactory; .line 99 invoke-virtual {v0, p1, p2}, Ljavax/net/SocketFactory;->createSocket(Ljava/lang/String;I)Ljava/net/Socket; move-result-object p1 check-cast p1, Ljavax/net/ssl/SSLSocket; .line 100 invoke-direct {p0, p1}, Lcsdk/glucentralservices/network/GluTLS12SocketFactory;->updateTLSProtocols(Ljava/net/Socket;)Ljava/net/Socket; move-result-object p1 return-object p1 .end method .method public createSocket(Ljava/lang/String;ILjava/net/InetAddress;I)Ljava/net/Socket; .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException;, Ljava/net/UnknownHostException; } .end annotation iget-object v0, p0, Lcsdk/glucentralservices/network/GluTLS12SocketFactory;->delegate:Ljavax/net/ssl/SSLSocketFactory; .line 105 invoke-virtual {v0, p1, p2, p3, p4}, Ljavax/net/SocketFactory;->createSocket(Ljava/lang/String;ILjava/net/InetAddress;I)Ljava/net/Socket; move-result-object p1 check-cast p1, Ljavax/net/ssl/SSLSocket; .line 106 invoke-direct {p0, p1}, Lcsdk/glucentralservices/network/GluTLS12SocketFactory;->updateTLSProtocols(Ljava/net/Socket;)Ljava/net/Socket; move-result-object p1 return-object p1 .end method .method public createSocket(Ljava/net/InetAddress;I)Ljava/net/Socket; .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation iget-object v0, p0, Lcsdk/glucentralservices/network/GluTLS12SocketFactory;->delegate:Ljavax/net/ssl/SSLSocketFactory; .line 111 invoke-virtual {v0, p1, p2}, Ljavax/net/SocketFactory;->createSocket(Ljava/net/InetAddress;I)Ljava/net/Socket; move-result-object p1 check-cast p1, Ljavax/net/ssl/SSLSocket; .line 112 invoke-direct {p0, p1}, Lcsdk/glucentralservices/network/GluTLS12SocketFactory;->updateTLSProtocols(Ljava/net/Socket;)Ljava/net/Socket; move-result-object p1 return-object p1 .end method .method public createSocket(Ljava/net/InetAddress;ILjava/net/InetAddress;I)Ljava/net/Socket; .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation iget-object v0, p0, Lcsdk/glucentralservices/network/GluTLS12SocketFactory;->delegate:Ljavax/net/ssl/SSLSocketFactory; .line 117 invoke-virtual {v0, p1, p2, p3, p4}, Ljavax/net/SocketFactory;->createSocket(Ljava/net/InetAddress;ILjava/net/InetAddress;I)Ljava/net/Socket; move-result-object p1 check-cast p1, Ljavax/net/ssl/SSLSocket; .line 118 invoke-direct {p0, p1}, Lcsdk/glucentralservices/network/GluTLS12SocketFactory;->updateTLSProtocols(Ljava/net/Socket;)Ljava/net/Socket; move-result-object p1 return-object p1 .end method .method public createSocket(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket; .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation iget-object v0, p0, Lcsdk/glucentralservices/network/GluTLS12SocketFactory;->delegate:Ljavax/net/ssl/SSLSocketFactory; .line 93 invoke-virtual {v0, p1, p2, p3, p4}, 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 94 invoke-direct {p0, p1}, Lcsdk/glucentralservices/network/GluTLS12SocketFactory;->updateTLSProtocols(Ljava/net/Socket;)Ljava/net/Socket; move-result-object p1 return-object p1 .end method .method public getDefaultCipherSuites()[Ljava/lang/String; .locals 1 iget-object v0, p0, Lcsdk/glucentralservices/network/GluTLS12SocketFactory;->delegate:Ljavax/net/ssl/SSLSocketFactory; .line 77 invoke-virtual {v0}, Ljavax/net/ssl/SSLSocketFactory;->getDefaultCipherSuites()[Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public getSupportedCipherSuites()[Ljava/lang/String; .locals 1 iget-object v0, p0, Lcsdk/glucentralservices/network/GluTLS12SocketFactory;->delegate:Ljavax/net/ssl/SSLSocketFactory; .line 82 invoke-virtual {v0}, Ljavax/net/ssl/SSLSocketFactory;->getSupportedCipherSuites()[Ljava/lang/String; move-result-object v0 return-object v0 .end method