e.smali
.class final Lcom/huawei/hms/update/b/e;
.super Ljavax/net/ssl/SSLSocketFactory;
.source "HttpsUtils.java"
# static fields
.field private static final a:Ljava/lang/Object;
.field private static c:Ljavax/net/SocketFactory;
# instance fields
.field private final b:Ljavax/net/ssl/SSLContext;
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 53
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
sput-object v0, Lcom/huawei/hms/update/b/e;->a:Ljava/lang/Object;
return-void
.end method
.method private constructor <init>()V
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/NoSuchAlgorithmException;,
Ljava/security/KeyManagementException;
}
.end annotation
.prologue
const/4 v1, 0x0
.line 71
invoke-direct {p0}, Ljavax/net/ssl/SSLSocketFactory;-><init>()V
.line 72
const-string v0, "TLSv1.2"
invoke-static {v0}, Ljavax/net/ssl/SSLContext;->getInstance(Ljava/lang/String;)Ljavax/net/ssl/SSLContext;
move-result-object v0
iput-object v0, p0, Lcom/huawei/hms/update/b/e;->b:Ljavax/net/ssl/SSLContext;
.line 73
iget-object v0, p0, Lcom/huawei/hms/update/b/e;->b:Ljavax/net/ssl/SSLContext;
invoke-virtual {v0, v1, v1, v1}, Ljavax/net/ssl/SSLContext;->init([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V
.line 74
return-void
.end method
.method public static a()Ljavax/net/SocketFactory;
.registers 5
.prologue
.line 82
sget-object v1, Lcom/huawei/hms/update/b/e;->a:Ljava/lang/Object;
monitor-enter v1
.line 84
:try_start_3
sget-object v0, Lcom/huawei/hms/update/b/e;->c:Ljavax/net/SocketFactory;
if-nez v0, :cond_e
.line 85
new-instance v0, Lcom/huawei/hms/update/b/e;
invoke-direct {v0}, Lcom/huawei/hms/update/b/e;-><init>()V
sput-object v0, Lcom/huawei/hms/update/b/e;->c:Ljavax/net/SocketFactory;
.line 87
:cond_e
sget-object v0, Lcom/huawei/hms/update/b/e;->c:Ljavax/net/SocketFactory;
:try_end_10
.catch Ljava/security/KeyManagementException; {:try_start_3 .. :try_end_10} :catch_38
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_3 .. :try_end_10} :catch_12
.catchall {:try_start_3 .. :try_end_10} :catchall_35
:try_start_10
monitor-exit v1
.line 91
:goto_11
return-object v0
.line 88
:catch_12
move-exception v0
.line 89
:goto_13
const-string v2, "TLSSocketFactory"
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Failed to new TLSSocketFactory instance."
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v0}, Ljava/security/GeneralSecurityException;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v2, v0}, Lcom/huawei/hms/support/log/a;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 91
invoke-static {}, Ljavax/net/ssl/SSLSocketFactory;->getDefault()Ljavax/net/SocketFactory;
move-result-object v0
monitor-exit v1
goto :goto_11
.line 92
:catchall_35
move-exception v0
monitor-exit v1
:try_end_37
.catchall {:try_start_10 .. :try_end_37} :catchall_35
throw v0
.line 88
:catch_38
move-exception v0
goto :goto_13
.end method
.method private a(Ljava/net/Socket;)V
.registers 3
.prologue
.line 143
instance-of v0, p1, Ljavax/net/ssl/SSLSocket;
if-eqz v0, :cond_f
move-object v0, p1
.line 144
check-cast v0, Ljavax/net/ssl/SSLSocket;
invoke-direct {p0, v0}, Lcom/huawei/hms/update/b/e;->b(Ljavax/net/ssl/SSLSocket;)V
.line 145
check-cast p1, Ljavax/net/ssl/SSLSocket;
invoke-static {p1}, Lcom/huawei/hms/update/b/e;->a(Ljavax/net/ssl/SSLSocket;)V
.line 147
:cond_f
return-void
.end method
.method public static a(Ljavax/net/ssl/SSLSocket;)V
.registers 7
.prologue
.line 163
invoke-virtual {p0}, Ljavax/net/ssl/SSLSocket;->getEnabledCipherSuites()[Ljava/lang/String;
move-result-object v1
.line 164
if-eqz v1, :cond_9
array-length v0, v1
if-nez v0, :cond_a
.line 186
:cond_9
:goto_9
return-void
.line 168
:cond_a
new-instance v2, Ljava/util/ArrayList;
invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
.line 169
array-length v3, v1
const/4 v0, 0x0
:goto_11
if-ge v0, v3, :cond_6c
aget-object v4, v1, v0
.line 172
const-string v5, "RC2"
invoke-virtual {v4, v5}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v5
if-nez v5, :cond_65
const-string v5, "RC4"
invoke-virtual {v4, v5}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v5
if-nez v5, :cond_65
const-string v5, "DES"
invoke-virtual {v4, v5}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v5
if-nez v5, :cond_65
const-string v5, "MD2"
invoke-virtual {v4, v5}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v5
if-nez v5, :cond_65
const-string v5, "MD4"
invoke-virtual {v4, v5}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v5
if-nez v5, :cond_65
const-string v5, "MD5"
invoke-virtual {v4, v5}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v5
if-nez v5, :cond_65
const-string v5, "ANON"
invoke-virtual {v4, v5}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v5
if-nez v5, :cond_65
const-string v5, "NULL"
invoke-virtual {v4, v5}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v5
if-nez v5, :cond_65
const-string v5, "SKIPJACK"
invoke-virtual {v4, v5}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v5
if-nez v5, :cond_65
const-string v5, "SHA1"
invoke-virtual {v4, v5}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v5
if-eqz v5, :cond_68
.line 169
:cond_65
:goto_65
add-int/lit8 v0, v0, 0x1
goto :goto_11
.line 180
:cond_68
invoke-interface {v2, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_65
.line 183
:cond_6c
invoke-interface {v2}, Ljava/util/List;->size()I
move-result v0
new-array v0, v0, [Ljava/lang/String;
invoke-interface {v2, v0}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object v0
check-cast v0, [Ljava/lang/String;
.line 185
invoke-virtual {p0, v0}, Ljavax/net/ssl/SSLSocket;->setEnabledCipherSuites([Ljava/lang/String;)V
goto :goto_9
.end method
.method private b(Ljavax/net/ssl/SSLSocket;)V
.registers 5
.prologue
.line 153
const/4 v0, 0x1
new-array v0, v0, [Ljava/lang/String;
const/4 v1, 0x0
const-string v2, "TLSv1.2"
aput-object v2, v0, v1
invoke-virtual {p1, v0}, Ljavax/net/ssl/SSLSocket;->setEnabledProtocols([Ljava/lang/String;)V
.line 156
return-void
.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
.prologue
.line 114
iget-object v0, p0, Lcom/huawei/hms/update/b/e;->b:Ljavax/net/ssl/SSLContext;
invoke-virtual {v0}, Ljavax/net/ssl/SSLContext;->getSocketFactory()Ljavax/net/ssl/SSLSocketFactory;
move-result-object v0
invoke-virtual {v0, p1, p2}, Ljavax/net/ssl/SSLSocketFactory;->createSocket(Ljava/lang/String;I)Ljava/net/Socket;
move-result-object v0
.line 115
invoke-direct {p0, v0}, Lcom/huawei/hms/update/b/e;->a(Ljava/net/Socket;)V
.line 116
return-object v0
.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
.prologue
.line 122
iget-object v0, p0, Lcom/huawei/hms/update/b/e;->b:Ljavax/net/ssl/SSLContext;
invoke-virtual {v0}, Ljavax/net/ssl/SSLContext;->getSocketFactory()Ljavax/net/ssl/SSLSocketFactory;
move-result-object v0
invoke-virtual {v0, p1, p2, p3, p4}, Ljavax/net/ssl/SSLSocketFactory;->createSocket(Ljava/lang/String;ILjava/net/InetAddress;I)Ljava/net/Socket;
move-result-object v0
.line 123
invoke-direct {p0, v0}, Lcom/huawei/hms/update/b/e;->a(Ljava/net/Socket;)V
.line 124
return-object v0
.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
.prologue
.line 129
iget-object v0, p0, Lcom/huawei/hms/update/b/e;->b:Ljavax/net/ssl/SSLContext;
invoke-virtual {v0}, Ljavax/net/ssl/SSLContext;->getSocketFactory()Ljavax/net/ssl/SSLSocketFactory;
move-result-object v0
invoke-virtual {v0, p1, p2}, Ljavax/net/ssl/SSLSocketFactory;->createSocket(Ljava/net/InetAddress;I)Ljava/net/Socket;
move-result-object v0
.line 130
invoke-direct {p0, v0}, Lcom/huawei/hms/update/b/e;->a(Ljava/net/Socket;)V
.line 131
return-object v0
.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
.prologue
.line 137
iget-object v0, p0, Lcom/huawei/hms/update/b/e;->b:Ljavax/net/ssl/SSLContext;
invoke-virtual {v0}, Ljavax/net/ssl/SSLContext;->getSocketFactory()Ljavax/net/ssl/SSLSocketFactory;
move-result-object v0
invoke-virtual {v0, p1, p2, p3, p4}, Ljavax/net/ssl/SSLSocketFactory;->createSocket(Ljava/net/InetAddress;ILjava/net/InetAddress;I)Ljava/net/Socket;
move-result-object v0
.line 138
invoke-direct {p0, v0}, Lcom/huawei/hms/update/b/e;->a(Ljava/net/Socket;)V
.line 139
return-object v0
.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
.prologue
.line 107
iget-object v0, p0, Lcom/huawei/hms/update/b/e;->b:Ljavax/net/ssl/SSLContext;
invoke-virtual {v0}, Ljavax/net/ssl/SSLContext;->getSocketFactory()Ljavax/net/ssl/SSLSocketFactory;
move-result-object v0
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 v0
.line 108
invoke-direct {p0, v0}, Lcom/huawei/hms/update/b/e;->a(Ljava/net/Socket;)V
.line 109
return-object v0
.end method
.method public getDefaultCipherSuites()[Ljava/lang/String;
.registers 2
.prologue
.line 97
const/4 v0, 0x0
new-array v0, v0, [Ljava/lang/String;
return-object v0
.end method
.method public getSupportedCipherSuites()[Ljava/lang/String;
.registers 2
.prologue
.line 102
const/4 v0, 0x0
new-array v0, v0, [Ljava/lang/String;
return-object v0
.end method