TLSSocketFactory.smali
.class public Lcom/facebook/react/modules/network/TLSSocketFactory;
.super Ljavax/net/ssl/SSLSocketFactory;
.source "SourceFile"
# instance fields
.field private delegate:Ljavax/net/ssl/SSLSocketFactory;
# direct methods
.method public constructor <init>()V
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/KeyManagementException;,
Ljava/security/NoSuchAlgorithmException;
}
.end annotation
.line 1
invoke-direct {p0}, Ljavax/net/ssl/SSLSocketFactory;-><init>()V
const-string v0, "TLS"
.line 2
invoke-static {v0}, Ljavax/net/ssl/SSLContext;->getInstance(Ljava/lang/String;)Ljavax/net/ssl/SSLContext;
move-result-object v0
const/4 v1, 0x0
.line 3
invoke-virtual {v0, v1, v1, v1}, Ljavax/net/ssl/SSLContext;->init([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V
.line 4
invoke-virtual {v0}, Ljavax/net/ssl/SSLContext;->getSocketFactory()Ljavax/net/ssl/SSLSocketFactory;
move-result-object v0
iput-object v0, p0, Lcom/facebook/react/modules/network/TLSSocketFactory;->delegate:Ljavax/net/ssl/SSLSocketFactory;
return-void
.end method
.method private enableTLSOnSocket(Ljava/net/Socket;)Ljava/net/Socket;
.registers 6
if-eqz p1, :cond_16
.line 1
instance-of v0, p1, Ljavax/net/ssl/SSLSocket;
if-eqz v0, :cond_16
.line 2
move-object v0, p1
check-cast v0, Ljavax/net/ssl/SSLSocket;
const-string v1, "TLSv1"
const-string v2, "TLSv1.1"
const-string v3, "TLSv1.2"
filled-new-array {v1, v2, v3}, [Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljavax/net/ssl/SSLSocket;->setEnabledProtocols([Ljava/lang/String;)V
:cond_16
return-object p1
.end method
# virtual methods
.method public createSocket(Ljava/lang/String;I)Ljava/net/Socket;
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/net/UnknownHostException;
}
.end annotation
.line 2
iget-object v0, p0, Lcom/facebook/react/modules/network/TLSSocketFactory;->delegate:Ljavax/net/ssl/SSLSocketFactory;
invoke-virtual {v0, p1, p2}, Ljavax/net/SocketFactory;->createSocket(Ljava/lang/String;I)Ljava/net/Socket;
move-result-object p1
invoke-direct {p0, p1}, Lcom/facebook/react/modules/network/TLSSocketFactory;->enableTLSOnSocket(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;
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/net/UnknownHostException;
}
.end annotation
.line 3
iget-object v0, p0, Lcom/facebook/react/modules/network/TLSSocketFactory;->delegate:Ljavax/net/ssl/SSLSocketFactory;
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
invoke-direct {p0, p1}, Lcom/facebook/react/modules/network/TLSSocketFactory;->enableTLSOnSocket(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;
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 4
iget-object v0, p0, Lcom/facebook/react/modules/network/TLSSocketFactory;->delegate:Ljavax/net/ssl/SSLSocketFactory;
invoke-virtual {v0, p1, p2}, Ljavax/net/SocketFactory;->createSocket(Ljava/net/InetAddress;I)Ljava/net/Socket;
move-result-object p1
invoke-direct {p0, p1}, Lcom/facebook/react/modules/network/TLSSocketFactory;->enableTLSOnSocket(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;
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 5
iget-object v0, p0, Lcom/facebook/react/modules/network/TLSSocketFactory;->delegate:Ljavax/net/ssl/SSLSocketFactory;
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
invoke-direct {p0, p1}, Lcom/facebook/react/modules/network/TLSSocketFactory;->enableTLSOnSocket(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;
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/facebook/react/modules/network/TLSSocketFactory;->delegate:Ljavax/net/ssl/SSLSocketFactory;
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
invoke-direct {p0, p1}, Lcom/facebook/react/modules/network/TLSSocketFactory;->enableTLSOnSocket(Ljava/net/Socket;)Ljava/net/Socket;
move-result-object p1
return-object p1
.end method
.method public getDefaultCipherSuites()[Ljava/lang/String;
.registers 2
iget-object v0, p0, Lcom/facebook/react/modules/network/TLSSocketFactory;->delegate:Ljavax/net/ssl/SSLSocketFactory;
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;
.registers 2
iget-object v0, p0, Lcom/facebook/react/modules/network/TLSSocketFactory;->delegate:Ljavax/net/ssl/SSLSocketFactory;
invoke-virtual {v0}, Ljavax/net/ssl/SSLSocketFactory;->getSupportedCipherSuites()[Ljava/lang/String;
move-result-object v0
return-object v0
.end method