HttpUtils$b.smali
.class public Lcom/tencent/open/utils/HttpUtils$b;
.super Ljava/lang/Object;
.source "ProGuard"
# interfaces
.implements Ljavax/net/ssl/X509TrustManager;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/tencent/open/utils/HttpUtils;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "b"
.end annotation
# instance fields
.field a:Ljavax/net/ssl/X509TrustManager;
# direct methods
.method constructor <init>()V
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.prologue
const/4 v2, 0x0
const/4 v0, 0x0
.line 1027
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 1031
:try_start_5
const-string v1, "JKS"
invoke-static {v1}, Ljava/security/KeyStore;->getInstance(Ljava/lang/String;)Ljava/security/KeyStore;
:try_end_a
.catch Ljava/lang/Exception; {:try_start_5 .. :try_end_a} :catch_44
move-result-object v1
.line 1035
:goto_b
new-array v3, v2, [Ljavax/net/ssl/TrustManager;
.line 1036
if-eqz v1, :cond_51
.line 1039
:try_start_f
new-instance v3, Ljava/io/FileInputStream;
const-string v4, "trustedCerts"
invoke-direct {v3, v4}, Ljava/io/FileInputStream;-><init>(Ljava/lang/String;)V
:try_end_16
.catchall {:try_start_f .. :try_end_16} :catchall_47
.line 1040
:try_start_16
const-string v0, "passphrase"
invoke-virtual {v0}, Ljava/lang/String;->toCharArray()[C
move-result-object v0
invoke-virtual {v1, v3, v0}, Ljava/security/KeyStore;->load(Ljava/io/InputStream;[C)V
.line 1041
const-string v0, "SunX509"
const-string v4, "SunJSSE"
invoke-static {v0, v4}, Ljavax/net/ssl/TrustManagerFactory;->getInstance(Ljava/lang/String;Ljava/lang/String;)Ljavax/net/ssl/TrustManagerFactory;
move-result-object v0
.line 1042
invoke-virtual {v0, v1}, Ljavax/net/ssl/TrustManagerFactory;->init(Ljava/security/KeyStore;)V
.line 1043
invoke-virtual {v0}, Ljavax/net/ssl/TrustManagerFactory;->getTrustManagers()[Ljavax/net/ssl/TrustManager;
:try_end_2d
.catchall {:try_start_16 .. :try_end_2d} :catchall_6e
move-result-object v0
.line 1045
if-eqz v3, :cond_33
.line 1046
invoke-virtual {v3}, Ljava/io/FileInputStream;->close()V
:cond_33
:goto_33
move v1, v2
.line 1057
:goto_34
array-length v2, v0
if-ge v1, v2, :cond_66
.line 1058
aget-object v2, v0, v1
instance-of v2, v2, Ljavax/net/ssl/X509TrustManager;
if-eqz v2, :cond_63
.line 1059
aget-object v0, v0, v1
check-cast v0, Ljavax/net/ssl/X509TrustManager;
iput-object v0, p0, Lcom/tencent/open/utils/HttpUtils$b;->a:Ljavax/net/ssl/X509TrustManager;
.line 1060
return-void
.line 1032
:catch_44
move-exception v1
move-object v1, v0
goto :goto_b
.line 1045
:catchall_47
move-exception v1
move-object v5, v1
move-object v1, v0
move-object v0, v5
:goto_4b
if-eqz v1, :cond_50
.line 1046
invoke-virtual {v1}, Ljava/io/FileInputStream;->close()V
.line 1048
:cond_50
throw v0
.line 1051
:cond_51
invoke-static {}, Ljavax/net/ssl/TrustManagerFactory;->getDefaultAlgorithm()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Ljavax/net/ssl/TrustManagerFactory;->getInstance(Ljava/lang/String;)Ljavax/net/ssl/TrustManagerFactory;
move-result-object v1
.line 1053
check-cast v0, Ljava/security/KeyStore;
invoke-virtual {v1, v0}, Ljavax/net/ssl/TrustManagerFactory;->init(Ljava/security/KeyStore;)V
.line 1054
invoke-virtual {v1}, Ljavax/net/ssl/TrustManagerFactory;->getTrustManagers()[Ljavax/net/ssl/TrustManager;
move-result-object v0
goto :goto_33
.line 1057
:cond_63
add-int/lit8 v1, v1, 0x1
goto :goto_34
.line 1063
:cond_66
new-instance v0, Ljava/lang/Exception;
const-string v1, "Couldn\'t initialize"
invoke-direct {v0, v1}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
throw v0
.line 1045
:catchall_6e
move-exception v0
move-object v1, v3
goto :goto_4b
.end method
# virtual methods
.method public checkClientTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/cert/CertificateException;
}
.end annotation
.prologue
.line 1069
iget-object v0, p0, Lcom/tencent/open/utils/HttpUtils$b;->a:Ljavax/net/ssl/X509TrustManager;
invoke-interface {v0, p1, p2}, Ljavax/net/ssl/X509TrustManager;->checkClientTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
.line 1070
return-void
.end method
.method public checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/cert/CertificateException;
}
.end annotation
.prologue
.line 1075
iget-object v0, p0, Lcom/tencent/open/utils/HttpUtils$b;->a:Ljavax/net/ssl/X509TrustManager;
invoke-interface {v0, p1, p2}, Ljavax/net/ssl/X509TrustManager;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
.line 1076
return-void
.end method
.method public getAcceptedIssuers()[Ljava/security/cert/X509Certificate;
.registers 2
.prologue
.line 1080
iget-object v0, p0, Lcom/tencent/open/utils/HttpUtils$b;->a:Ljavax/net/ssl/X509TrustManager;
invoke-interface {v0}, Ljavax/net/ssl/X509TrustManager;->getAcceptedIssuers()[Ljava/security/cert/X509Certificate;
move-result-object v0
return-object v0
.end method