This commit is contained in:
2022-06-10 21:38:30 +09:00
commit 27f5152838
51323 changed files with 12934539 additions and 0 deletions
File diff suppressed because it is too large Load Diff
+35
View File
@@ -0,0 +1,35 @@
.class public Lvf/b;
.super Lvf/a;
.source "AllowAllHostnameVerifier.java"
# annotations
.annotation build Lcz/msebera/android/httpclient/annotation/Immutable;
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lvf/a;-><init>()V
return-void
.end method
# virtual methods
.method public final toString()Ljava/lang/String;
.locals 1
const-string v0, "ALLOW_ALL"
return-object v0
.end method
.method public final verify(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
.locals 0
return-void
.end method
+53
View File
@@ -0,0 +1,53 @@
.class public Lvf/c;
.super Lvf/a;
.source "BrowserCompatHostnameVerifier.java"
# annotations
.annotation build Lcz/msebera/android/httpclient/annotation/Immutable;
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lvf/a;-><init>()V
return-void
.end method
# virtual methods
.method public i(Ljava/lang/String;)Z
.locals 0
const/4 p1, 0x1
return p1
.end method
.method public final toString()Ljava/lang/String;
.locals 1
const-string v0, "BROWSER_COMPATIBLE"
return-object v0
.end method
.method public final verify(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljavax/net/ssl/SSLException;
}
.end annotation
const/4 v0, 0x0
.line 1
invoke-virtual {p0, p1, p2, p3, v0}, Lvf/a;->j(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Z)V
return-void
.end method
+85
View File
@@ -0,0 +1,85 @@
.class public final Lvf/d;
.super Ljava/lang/Object;
.source "PrivateKeyDetails.java"
# instance fields
.field public final a:Ljava/lang/String;
.field public final b:[Ljava/security/cert/X509Certificate;
# direct methods
.method public constructor <init>(Ljava/lang/String;[Ljava/security/cert/X509Certificate;)V
.locals 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const-string v0, "Private key type"
.line 2
invoke-static {p1, v0}, Lqg/a;->h(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/String;
iput-object p1, p0, Lvf/d;->a:Ljava/lang/String;
.line 3
iput-object p2, p0, Lvf/d;->b:[Ljava/security/cert/X509Certificate;
return-void
.end method
# virtual methods
.method public a()[Ljava/security/cert/X509Certificate;
.locals 1
.line 1
iget-object v0, p0, Lvf/d;->b:[Ljava/security/cert/X509Certificate;
return-object v0
.end method
.method public b()Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lvf/d;->a:Ljava/lang/String;
return-object v0
.end method
.method public toString()Ljava/lang/String;
.locals 2
.line 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iget-object v1, p0, Lvf/d;->a:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v1, 0x3a
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
iget-object v1, p0, Lvf/d;->b:[Ljava/security/cert/X509Certificate;
invoke-static {v1}, Ljava/util/Arrays;->toString([Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
+20
View File
@@ -0,0 +1,20 @@
.class public interface abstract Lvf/e;
.super Ljava/lang/Object;
.source "PrivateKeyStrategy.java"
# virtual methods
.method public abstract a(Ljava/util/Map;Ljava/net/Socket;)Ljava/lang/String;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Lvf/d;",
">;",
"Ljava/net/Socket;",
")",
"Ljava/lang/String;"
}
.end annotation
.end method
+549
View File
@@ -0,0 +1,549 @@
.class public Lvf/f;
.super Ljava/lang/Object;
.source "SSLConnectionSocketFactory.java"
# interfaces
.implements Luf/b;
# annotations
.annotation build Lcz/msebera/android/httpclient/annotation/ThreadSafe;
.end annotation
# static fields
.field public static final e:Ljava/lang/String; = "TLS"
.field public static final f:Ljava/lang/String; = "SSL"
.field public static final g:Ljava/lang/String; = "SSLv2"
.field public static final h:Lvf/m;
.field public static final i:Lvf/m;
.field public static final j:Lvf/m;
# instance fields
.field public final a:Ljavax/net/ssl/SSLSocketFactory;
.field public final b:Lvf/m;
.field public final c:[Ljava/lang/String;
.field public final d:[Ljava/lang/String;
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
new-instance v0, Lvf/b;
invoke-direct {v0}, Lvf/b;-><init>()V
sput-object v0, Lvf/f;->h:Lvf/m;
.line 2
new-instance v0, Lvf/c;
invoke-direct {v0}, Lvf/c;-><init>()V
sput-object v0, Lvf/f;->i:Lvf/m;
.line 3
new-instance v0, Lvf/j;
invoke-direct {v0}, Lvf/j;-><init>()V
sput-object v0, Lvf/f;->j:Lvf/m;
return-void
.end method
.method public constructor <init>(Ljavax/net/ssl/SSLContext;)V
.locals 1
.line 1
sget-object v0, Lvf/f;->i:Lvf/m;
invoke-direct {p0, p1, v0}, Lvf/f;-><init>(Ljavax/net/ssl/SSLContext;Lvf/m;)V
return-void
.end method
.method public constructor <init>(Ljavax/net/ssl/SSLContext;Lvf/m;)V
.locals 1
const-string v0, "SSL context"
.line 2
invoke-static {p1, v0}, Lqg/a;->h(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}, Lvf/f;-><init>(Ljavax/net/ssl/SSLSocketFactory;[Ljava/lang/String;[Ljava/lang/String;Lvf/m;)V
return-void
.end method
.method public constructor <init>(Ljavax/net/ssl/SSLContext;[Ljava/lang/String;[Ljava/lang/String;Lvf/m;)V
.locals 1
const-string v0, "SSL context"
.line 3
invoke-static {p1, v0}, Lqg/a;->h(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}, Lvf/f;-><init>(Ljavax/net/ssl/SSLSocketFactory;[Ljava/lang/String;[Ljava/lang/String;Lvf/m;)V
return-void
.end method
.method public constructor <init>(Ljavax/net/ssl/SSLSocketFactory;Lvf/m;)V
.locals 1
const/4 v0, 0x0
.line 4
invoke-direct {p0, p1, v0, v0, p2}, Lvf/f;-><init>(Ljavax/net/ssl/SSLSocketFactory;[Ljava/lang/String;[Ljava/lang/String;Lvf/m;)V
return-void
.end method
.method public constructor <init>(Ljavax/net/ssl/SSLSocketFactory;[Ljava/lang/String;[Ljava/lang/String;Lvf/m;)V
.locals 1
.line 5
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const-string v0, "SSL socket factory"
.line 6
invoke-static {p1, v0}, Lqg/a;->h(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljavax/net/ssl/SSLSocketFactory;
iput-object p1, p0, Lvf/f;->a:Ljavax/net/ssl/SSLSocketFactory;
.line 7
iput-object p2, p0, Lvf/f;->c:[Ljava/lang/String;
.line 8
iput-object p3, p0, Lvf/f;->d:[Ljava/lang/String;
if-eqz p4, :cond_0
goto :goto_0
.line 9
:cond_0
sget-object p4, Lvf/f;->i:Lvf/m;
:goto_0
iput-object p4, p0, Lvf/f;->b:Lvf/m;
return-void
.end method
.method public static b()Lvf/f;
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lcz/msebera/android/httpclient/conn/ssl/SSLInitializationException;
}
.end annotation
.line 1
new-instance v0, Lvf/f;
.line 2
invoke-static {}, Lvf/h;->a()Ljavax/net/ssl/SSLContext;
move-result-object v1
sget-object v2, Lvf/f;->i:Lvf/m;
invoke-direct {v0, v1, v2}, Lvf/f;-><init>(Ljavax/net/ssl/SSLContext;Lvf/m;)V
return-object v0
.end method
.method public static d()Lvf/f;
.locals 5
.annotation system Ldalvik/annotation/Throws;
value = {
Lcz/msebera/android/httpclient/conn/ssl/SSLInitializationException;
}
.end annotation
.line 1
new-instance v0, Lvf/f;
.line 2
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"
.line 3
invoke-static {v2}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
invoke-static {v2}, Lvf/f;->f(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v2
const-string v3, "https.cipherSuites"
.line 4
invoke-static {v3}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Lvf/f;->f(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v3
sget-object v4, Lvf/f;->i:Lvf/m;
invoke-direct {v0, v1, v2, v3, v4}, Lvf/f;-><init>(Ljavax/net/ssl/SSLSocketFactory;[Ljava/lang/String;[Ljava/lang/String;Lvf/m;)V
return-object v0
.end method
.method public static f(Ljava/lang/String;)[Ljava/lang/String;
.locals 1
.line 1
invoke-static {p0}, Lqg/i;->a(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_0
const/4 p0, 0x0
return-object p0
:cond_0
const-string v0, " *, *"
.line 2
invoke-virtual {p0, v0}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object p0
return-object p0
.end method
# virtual methods
.method public a()Lvf/m;
.locals 1
.line 1
iget-object v0, p0, Lvf/f;->b:Lvf/m;
return-object v0
.end method
.method public c(ILjava/net/Socket;Lcz/msebera/android/httpclient/HttpHost;Ljava/net/InetSocketAddress;Ljava/net/InetSocketAddress;Lpg/g;)Ljava/net/Socket;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const-string v0, "HTTP host"
.line 1
invoke-static {p3, v0}, Lqg/a;->h(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
const-string v0, "Remote address"
.line 2
invoke-static {p4, v0}, Lqg/a;->h(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
if-eqz p2, :cond_0
goto :goto_0
.line 3
:cond_0
invoke-virtual {p0, p6}, Lvf/f;->h(Lpg/g;)Ljava/net/Socket;
move-result-object p2
:goto_0
if-eqz p5, :cond_1
.line 4
invoke-virtual {p2, p5}, Ljava/net/Socket;->bind(Ljava/net/SocketAddress;)V
:cond_1
if-lez p1, :cond_2
.line 5
:try_start_0
invoke-virtual {p2}, Ljava/net/Socket;->getSoTimeout()I
move-result p5
if-nez p5, :cond_2
.line 6
invoke-virtual {p2, p1}, Ljava/net/Socket;->setSoTimeout(I)V
.line 7
:cond_2
invoke-virtual {p2, p4, p1}, Ljava/net/Socket;->connect(Ljava/net/SocketAddress;I)V
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
.line 8
instance-of p1, p2, Ljavax/net/ssl/SSLSocket;
if-eqz p1, :cond_3
.line 9
move-object p1, p2
check-cast p1, Ljavax/net/ssl/SSLSocket;
.line 10
invoke-virtual {p1}, Ljavax/net/ssl/SSLSocket;->startHandshake()V
.line 11
invoke-virtual {p3}, Lcz/msebera/android/httpclient/HttpHost;->getHostName()Ljava/lang/String;
move-result-object p3
invoke-virtual {p0, p1, p3}, Lvf/f;->i(Ljavax/net/ssl/SSLSocket;Ljava/lang/String;)V
return-object p2
.line 12
:cond_3
invoke-virtual {p3}, Lcz/msebera/android/httpclient/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}, Lvf/f;->g(Ljava/net/Socket;Ljava/lang/String;ILpg/g;)Ljava/net/Socket;
move-result-object p1
return-object p1
:catch_0
move-exception p1
.line 13
:try_start_1
invoke-virtual {p2}, Ljava/net/Socket;->close()V
:try_end_1
.catch Ljava/io/IOException; {:try_start_1 .. :try_end_1} :catch_1
.line 14
:catch_1
throw p1
.end method
.method public e(Ljavax/net/ssl/SSLSocket;)V
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
return-void
.end method
.method public g(Ljava/net/Socket;Ljava/lang/String;ILpg/g;)Ljava/net/Socket;
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object p4, p0, Lvf/f;->a: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 2
iget-object p3, p0, Lvf/f;->c:[Ljava/lang/String;
if-eqz p3, :cond_0
.line 3
invoke-virtual {p1, p3}, Ljavax/net/ssl/SSLSocket;->setEnabledProtocols([Ljava/lang/String;)V
goto :goto_1
.line 4
:cond_0
invoke-virtual {p1}, Ljavax/net/ssl/SSLSocket;->getSupportedProtocols()[Ljava/lang/String;
move-result-object p3
.line 5
new-instance p4, Ljava/util/ArrayList;
array-length v0, p3
invoke-direct {p4, v0}, Ljava/util/ArrayList;-><init>(I)V
.line 6
array-length v0, p3
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_2
aget-object v2, p3, v1
const-string v3, "SSL"
.line 7
invoke-virtual {v2, v3}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v3
if-nez v3, :cond_1
.line 8
invoke-virtual {p4, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:cond_1
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 9
:cond_2
invoke-virtual {p4}, Ljava/util/ArrayList;->size()I
move-result p3
new-array p3, p3, [Ljava/lang/String;
invoke-virtual {p4, p3}, Ljava/util/ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object p3
check-cast p3, [Ljava/lang/String;
invoke-virtual {p1, p3}, Ljavax/net/ssl/SSLSocket;->setEnabledProtocols([Ljava/lang/String;)V
.line 10
:goto_1
iget-object p3, p0, Lvf/f;->d:[Ljava/lang/String;
if-eqz p3, :cond_3
.line 11
invoke-virtual {p1, p3}, Ljavax/net/ssl/SSLSocket;->setEnabledCipherSuites([Ljava/lang/String;)V
.line 12
:cond_3
invoke-virtual {p0, p1}, Lvf/f;->e(Ljavax/net/ssl/SSLSocket;)V
.line 13
invoke-virtual {p1}, Ljavax/net/ssl/SSLSocket;->startHandshake()V
.line 14
invoke-virtual {p0, p1, p2}, Lvf/f;->i(Ljavax/net/ssl/SSLSocket;Ljava/lang/String;)V
return-object p1
.end method
.method public h(Lpg/g;)Ljava/net/Socket;
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
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 final i(Ljavax/net/ssl/SSLSocket;Ljava/lang/String;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
:try_start_0
iget-object v0, p0, Lvf/f;->b:Lvf/m;
invoke-interface {v0, p2, p1}, Lvf/m;->verify(Ljava/lang/String;Ljavax/net/ssl/SSLSocket;)V
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
return-void
:catch_0
move-exception p2
.line 2
:try_start_1
invoke-virtual {p1}, Ljavax/net/ssl/SSLSocket;->close()V
:try_end_1
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_1
.line 3
:catch_1
throw p2
.end method
+225
View File
@@ -0,0 +1,225 @@
.class public Lvf/g$a;
.super Ljava/lang/Object;
.source "SSLContextBuilder.java"
# interfaces
.implements Ljavax/net/ssl/X509KeyManager;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lvf/g;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "a"
.end annotation
# instance fields
.field public final a:Ljavax/net/ssl/X509KeyManager;
.field public final b:Lvf/e;
# direct methods
.method public constructor <init>(Ljavax/net/ssl/X509KeyManager;Lvf/e;)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lvf/g$a;->a:Ljavax/net/ssl/X509KeyManager;
.line 3
iput-object p2, p0, Lvf/g$a;->b:Lvf/e;
return-void
.end method
# virtual methods
.method public chooseClientAlias([Ljava/lang/String;[Ljava/security/Principal;Ljava/net/Socket;)Ljava/lang/String;
.locals 11
.line 1
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
.line 2
array-length v1, p1
const/4 v2, 0x0
move v3, v2
:goto_0
if-ge v3, v1, :cond_1
aget-object v4, p1, v3
.line 3
iget-object v5, p0, Lvf/g$a;->a:Ljavax/net/ssl/X509KeyManager;
invoke-interface {v5, v4, p2}, Ljavax/net/ssl/X509KeyManager;->getClientAliases(Ljava/lang/String;[Ljava/security/Principal;)[Ljava/lang/String;
move-result-object v5
if-eqz v5, :cond_0
.line 4
array-length v6, v5
move v7, v2
:goto_1
if-ge v7, v6, :cond_0
aget-object v8, v5, v7
.line 5
new-instance v9, Lvf/d;
iget-object v10, p0, Lvf/g$a;->a:Ljavax/net/ssl/X509KeyManager;
.line 6
invoke-interface {v10, v8}, Ljavax/net/ssl/X509KeyManager;->getCertificateChain(Ljava/lang/String;)[Ljava/security/cert/X509Certificate;
move-result-object v10
invoke-direct {v9, v4, v10}, Lvf/d;-><init>(Ljava/lang/String;[Ljava/security/cert/X509Certificate;)V
.line 7
invoke-virtual {v0, v8, v9}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
add-int/lit8 v7, v7, 0x1
goto :goto_1
:cond_0
add-int/lit8 v3, v3, 0x1
goto :goto_0
.line 8
:cond_1
iget-object p1, p0, Lvf/g$a;->b:Lvf/e;
invoke-interface {p1, v0, p3}, Lvf/e;->a(Ljava/util/Map;Ljava/net/Socket;)Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public chooseServerAlias(Ljava/lang/String;[Ljava/security/Principal;Ljava/net/Socket;)Ljava/lang/String;
.locals 6
.line 1
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
.line 2
iget-object v1, p0, Lvf/g$a;->a:Ljavax/net/ssl/X509KeyManager;
invoke-interface {v1, p1, p2}, Ljavax/net/ssl/X509KeyManager;->getServerAliases(Ljava/lang/String;[Ljava/security/Principal;)[Ljava/lang/String;
move-result-object p2
if-eqz p2, :cond_0
.line 3
array-length v1, p2
const/4 v2, 0x0
:goto_0
if-ge v2, v1, :cond_0
aget-object v3, p2, v2
.line 4
new-instance v4, Lvf/d;
iget-object v5, p0, Lvf/g$a;->a:Ljavax/net/ssl/X509KeyManager;
.line 5
invoke-interface {v5, v3}, Ljavax/net/ssl/X509KeyManager;->getCertificateChain(Ljava/lang/String;)[Ljava/security/cert/X509Certificate;
move-result-object v5
invoke-direct {v4, p1, v5}, Lvf/d;-><init>(Ljava/lang/String;[Ljava/security/cert/X509Certificate;)V
.line 6
invoke-virtual {v0, v3, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 7
:cond_0
iget-object p1, p0, Lvf/g$a;->b:Lvf/e;
invoke-interface {p1, v0, p3}, Lvf/e;->a(Ljava/util/Map;Ljava/net/Socket;)Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public getCertificateChain(Ljava/lang/String;)[Ljava/security/cert/X509Certificate;
.locals 1
.line 1
iget-object v0, p0, Lvf/g$a;->a:Ljavax/net/ssl/X509KeyManager;
invoke-interface {v0, p1}, Ljavax/net/ssl/X509KeyManager;->getCertificateChain(Ljava/lang/String;)[Ljava/security/cert/X509Certificate;
move-result-object p1
return-object p1
.end method
.method public getClientAliases(Ljava/lang/String;[Ljava/security/Principal;)[Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lvf/g$a;->a:Ljavax/net/ssl/X509KeyManager;
invoke-interface {v0, p1, p2}, Ljavax/net/ssl/X509KeyManager;->getClientAliases(Ljava/lang/String;[Ljava/security/Principal;)[Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public getPrivateKey(Ljava/lang/String;)Ljava/security/PrivateKey;
.locals 1
.line 1
iget-object v0, p0, Lvf/g$a;->a:Ljavax/net/ssl/X509KeyManager;
invoke-interface {v0, p1}, Ljavax/net/ssl/X509KeyManager;->getPrivateKey(Ljava/lang/String;)Ljava/security/PrivateKey;
move-result-object p1
return-object p1
.end method
.method public getServerAliases(Ljava/lang/String;[Ljava/security/Principal;)[Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lvf/g$a;->a:Ljavax/net/ssl/X509KeyManager;
invoke-interface {v0, p1, p2}, Ljavax/net/ssl/X509KeyManager;->getServerAliases(Ljava/lang/String;[Ljava/security/Principal;)[Ljava/lang/String;
move-result-object p1
return-object p1
.end method
+97
View File
@@ -0,0 +1,97 @@
.class public Lvf/g$b;
.super Ljava/lang/Object;
.source "SSLContextBuilder.java"
# interfaces
.implements Ljavax/net/ssl/X509TrustManager;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lvf/g;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "b"
.end annotation
# instance fields
.field public final a:Ljavax/net/ssl/X509TrustManager;
.field public final b:Lvf/l;
# direct methods
.method public constructor <init>(Ljavax/net/ssl/X509TrustManager;Lvf/l;)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lvf/g$b;->a:Ljavax/net/ssl/X509TrustManager;
.line 3
iput-object p2, p0, Lvf/g$b;->b:Lvf/l;
return-void
.end method
# virtual methods
.method public checkClientTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/cert/CertificateException;
}
.end annotation
.line 1
iget-object v0, p0, Lvf/g$b;->a:Ljavax/net/ssl/X509TrustManager;
invoke-interface {v0, p1, p2}, Ljavax/net/ssl/X509TrustManager;->checkClientTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
return-void
.end method
.method public checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/cert/CertificateException;
}
.end annotation
.line 1
iget-object v0, p0, Lvf/g$b;->b:Lvf/l;
invoke-interface {v0, p1, p2}, Lvf/l;->a([Ljava/security/cert/X509Certificate;Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_0
.line 2
iget-object v0, p0, Lvf/g$b;->a:Ljavax/net/ssl/X509TrustManager;
invoke-interface {v0, p1, p2}, Ljavax/net/ssl/X509TrustManager;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
:cond_0
return-void
.end method
.method public getAcceptedIssuers()[Ljava/security/cert/X509Certificate;
.locals 1
.line 1
iget-object v0, p0, Lvf/g$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
+410
View File
@@ -0,0 +1,410 @@
.class public Lvf/g;
.super Ljava/lang/Object;
.source "SSLContextBuilder.java"
# annotations
.annotation build Lcz/msebera/android/httpclient/annotation/NotThreadSafe;
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lvf/g$a;,
Lvf/g$b;
}
.end annotation
# static fields
.field public static final e:Ljava/lang/String; = "TLS"
.field public static final f:Ljava/lang/String; = "SSL"
# instance fields
.field public a:Ljava/lang/String;
.field public b:Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set<",
"Ljavax/net/ssl/KeyManager;",
">;"
}
.end annotation
.end field
.field public c:Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set<",
"Ljavax/net/ssl/TrustManager;",
">;"
}
.end annotation
.end field
.field public d:Ljava/security/SecureRandom;
# direct methods
.method public constructor <init>()V
.locals 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v0, Ljava/util/HashSet;
invoke-direct {v0}, Ljava/util/HashSet;-><init>()V
iput-object v0, p0, Lvf/g;->b:Ljava/util/Set;
.line 3
new-instance v0, Ljava/util/HashSet;
invoke-direct {v0}, Ljava/util/HashSet;-><init>()V
iput-object v0, p0, Lvf/g;->c:Ljava/util/Set;
return-void
.end method
# virtual methods
.method public a()Ljavax/net/ssl/SSLContext;
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/NoSuchAlgorithmException;,
Ljava/security/KeyManagementException;
}
.end annotation
.line 1
iget-object v0, p0, Lvf/g;->a:Ljava/lang/String;
if-eqz v0, :cond_0
goto :goto_0
:cond_0
const-string v0, "TLS"
:goto_0
invoke-static {v0}, Ljavax/net/ssl/SSLContext;->getInstance(Ljava/lang/String;)Ljavax/net/ssl/SSLContext;
move-result-object v0
.line 2
iget-object v1, p0, Lvf/g;->b:Ljava/util/Set;
.line 3
invoke-interface {v1}, Ljava/util/Set;->isEmpty()Z
move-result v1
const/4 v2, 0x0
if-nez v1, :cond_1
iget-object v1, p0, Lvf/g;->b:Ljava/util/Set;
invoke-interface {v1}, Ljava/util/Set;->size()I
move-result v3
new-array v3, v3, [Ljavax/net/ssl/KeyManager;
invoke-interface {v1, v3}, Ljava/util/Set;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object v1
check-cast v1, [Ljavax/net/ssl/KeyManager;
goto :goto_1
:cond_1
move-object v1, v2
:goto_1
iget-object v3, p0, Lvf/g;->c:Ljava/util/Set;
.line 4
invoke-interface {v3}, Ljava/util/Set;->isEmpty()Z
move-result v3
if-nez v3, :cond_2
iget-object v2, p0, Lvf/g;->c:Ljava/util/Set;
invoke-interface {v2}, Ljava/util/Set;->size()I
move-result v3
new-array v3, v3, [Ljavax/net/ssl/TrustManager;
invoke-interface {v2, v3}, Ljava/util/Set;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object v2
check-cast v2, [Ljavax/net/ssl/TrustManager;
:cond_2
iget-object v3, p0, Lvf/g;->d:Ljava/security/SecureRandom;
.line 5
invoke-virtual {v0, v1, v2, v3}, Ljavax/net/ssl/SSLContext;->init([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V
return-object v0
.end method
.method public b(Ljava/security/KeyStore;[C)Lvf/g;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/NoSuchAlgorithmException;,
Ljava/security/KeyStoreException;,
Ljava/security/UnrecoverableKeyException;
}
.end annotation
const/4 v0, 0x0
.line 1
invoke-virtual {p0, p1, p2, v0}, Lvf/g;->c(Ljava/security/KeyStore;[CLvf/e;)Lvf/g;
return-object p0
.end method
.method public c(Ljava/security/KeyStore;[CLvf/e;)Lvf/g;
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/NoSuchAlgorithmException;,
Ljava/security/KeyStoreException;,
Ljava/security/UnrecoverableKeyException;
}
.end annotation
.line 1
invoke-static {}, Ljavax/net/ssl/KeyManagerFactory;->getDefaultAlgorithm()Ljava/lang/String;
move-result-object v0
.line 2
invoke-static {v0}, Ljavax/net/ssl/KeyManagerFactory;->getInstance(Ljava/lang/String;)Ljavax/net/ssl/KeyManagerFactory;
move-result-object v0
.line 3
invoke-virtual {v0, p1, p2}, Ljavax/net/ssl/KeyManagerFactory;->init(Ljava/security/KeyStore;[C)V
.line 4
invoke-virtual {v0}, Ljavax/net/ssl/KeyManagerFactory;->getKeyManagers()[Ljavax/net/ssl/KeyManager;
move-result-object p1
if-eqz p1, :cond_2
const/4 p2, 0x0
if-eqz p3, :cond_1
move v0, p2
.line 5
:goto_0
array-length v1, p1
if-ge v0, v1, :cond_1
.line 6
aget-object v1, p1, v0
.line 7
instance-of v2, v1, Ljavax/net/ssl/X509KeyManager;
if-eqz v2, :cond_0
.line 8
new-instance v2, Lvf/g$a;
check-cast v1, Ljavax/net/ssl/X509KeyManager;
invoke-direct {v2, v1, p3}, Lvf/g$a;-><init>(Ljavax/net/ssl/X509KeyManager;Lvf/e;)V
aput-object v2, p1, v0
:cond_0
add-int/lit8 v0, v0, 0x1
goto :goto_0
.line 9
:cond_1
array-length p3, p1
:goto_1
if-ge p2, p3, :cond_2
aget-object v0, p1, p2
.line 10
iget-object v1, p0, Lvf/g;->b:Ljava/util/Set;
invoke-interface {v1, v0}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
add-int/lit8 p2, p2, 0x1
goto :goto_1
:cond_2
return-object p0
.end method
.method public d(Ljava/security/KeyStore;)Lvf/g;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/NoSuchAlgorithmException;,
Ljava/security/KeyStoreException;
}
.end annotation
const/4 v0, 0x0
.line 1
invoke-virtual {p0, p1, v0}, Lvf/g;->e(Ljava/security/KeyStore;Lvf/l;)Lvf/g;
move-result-object p1
return-object p1
.end method
.method public e(Ljava/security/KeyStore;Lvf/l;)Lvf/g;
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/NoSuchAlgorithmException;,
Ljava/security/KeyStoreException;
}
.end annotation
.line 1
invoke-static {}, Ljavax/net/ssl/TrustManagerFactory;->getDefaultAlgorithm()Ljava/lang/String;
move-result-object v0
.line 2
invoke-static {v0}, Ljavax/net/ssl/TrustManagerFactory;->getInstance(Ljava/lang/String;)Ljavax/net/ssl/TrustManagerFactory;
move-result-object v0
.line 3
invoke-virtual {v0, p1}, Ljavax/net/ssl/TrustManagerFactory;->init(Ljava/security/KeyStore;)V
.line 4
invoke-virtual {v0}, Ljavax/net/ssl/TrustManagerFactory;->getTrustManagers()[Ljavax/net/ssl/TrustManager;
move-result-object p1
if-eqz p1, :cond_2
const/4 v0, 0x0
if-eqz p2, :cond_1
move v1, v0
.line 5
:goto_0
array-length v2, p1
if-ge v1, v2, :cond_1
.line 6
aget-object v2, p1, v1
.line 7
instance-of v3, v2, Ljavax/net/ssl/X509TrustManager;
if-eqz v3, :cond_0
.line 8
new-instance v3, Lvf/g$b;
check-cast v2, Ljavax/net/ssl/X509TrustManager;
invoke-direct {v3, v2, p2}, Lvf/g$b;-><init>(Ljavax/net/ssl/X509TrustManager;Lvf/l;)V
aput-object v3, p1, v1
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 9
:cond_1
array-length p2, p1
:goto_1
if-ge v0, p2, :cond_2
aget-object v1, p1, v0
.line 10
iget-object v2, p0, Lvf/g;->c:Ljava/util/Set;
invoke-interface {v2, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
add-int/lit8 v0, v0, 0x1
goto :goto_1
:cond_2
return-object p0
.end method
.method public f(Ljava/security/SecureRandom;)Lvf/g;
.locals 0
.line 1
iput-object p1, p0, Lvf/g;->d:Ljava/security/SecureRandom;
return-object p0
.end method
.method public g(Ljava/lang/String;)Lvf/g;
.locals 0
.line 1
iput-object p1, p0, Lvf/g;->a:Ljava/lang/String;
return-object p0
.end method
.method public h()Lvf/g;
.locals 1
const-string v0, "SSL"
.line 1
iput-object v0, p0, Lvf/g;->a:Ljava/lang/String;
return-object p0
.end method
.method public i()Lvf/g;
.locals 1
const-string v0, "TLS"
.line 1
iput-object v0, p0, Lvf/g;->a:Ljava/lang/String;
return-object p0
.end method
+114
View File
@@ -0,0 +1,114 @@
.class public Lvf/h;
.super Ljava/lang/Object;
.source "SSLContexts.java"
# annotations
.annotation build Lcz/msebera/android/httpclient/annotation/Immutable;
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static a()Ljavax/net/ssl/SSLContext;
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lcz/msebera/android/httpclient/conn/ssl/SSLInitializationException;
}
.end annotation
:try_start_0
const-string v0, "TLS"
.line 1
invoke-static {v0}, Ljavax/net/ssl/SSLContext;->getInstance(Ljava/lang/String;)Ljavax/net/ssl/SSLContext;
move-result-object v0
const/4 v1, 0x0
.line 2
invoke-virtual {v0, v1, v1, v1}, Ljavax/net/ssl/SSLContext;->init([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V
:try_end_0
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_0 .. :try_end_0} :catch_1
.catch Ljava/security/KeyManagementException; {:try_start_0 .. :try_end_0} :catch_0
return-object v0
:catch_0
move-exception v0
.line 3
new-instance v1, Lcz/msebera/android/httpclient/conn/ssl/SSLInitializationException;
invoke-virtual {v0}, Ljava/security/KeyManagementException;->getMessage()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2, v0}, Lcz/msebera/android/httpclient/conn/ssl/SSLInitializationException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v1
:catch_1
move-exception v0
.line 4
new-instance v1, Lcz/msebera/android/httpclient/conn/ssl/SSLInitializationException;
invoke-virtual {v0}, Ljava/security/NoSuchAlgorithmException;->getMessage()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2, v0}, Lcz/msebera/android/httpclient/conn/ssl/SSLInitializationException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v1
.end method
.method public static b()Ljavax/net/ssl/SSLContext;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lcz/msebera/android/httpclient/conn/ssl/SSLInitializationException;
}
.end annotation
:try_start_0
const-string v0, "Default"
.line 1
invoke-static {v0}, Ljavax/net/ssl/SSLContext;->getInstance(Ljava/lang/String;)Ljavax/net/ssl/SSLContext;
move-result-object v0
:try_end_0
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_0 .. :try_end_0} :catch_0
return-object v0
.line 2
:catch_0
invoke-static {}, Lvf/h;->a()Ljavax/net/ssl/SSLContext;
move-result-object v0
return-object v0
.end method
.method public static c()Lvf/g;
.locals 1
.line 1
new-instance v0, Lvf/g;
invoke-direct {v0}, Lvf/g;-><init>()V
return-object v0
.end method
File diff suppressed because it is too large Load Diff
+45
View File
@@ -0,0 +1,45 @@
.class public Lvf/j;
.super Lvf/a;
.source "StrictHostnameVerifier.java"
# annotations
.annotation build Lcz/msebera/android/httpclient/annotation/Immutable;
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lvf/a;-><init>()V
return-void
.end method
# virtual methods
.method public final toString()Ljava/lang/String;
.locals 1
const-string v0, "STRICT"
return-object v0
.end method
.method public final verify(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljavax/net/ssl/SSLException;
}
.end annotation
const/4 v0, 0x1
.line 1
invoke-virtual {p0, p1, p2, p3, v0}, Lvf/a;->j(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Z)V
return-void
.end method
+43
View File
@@ -0,0 +1,43 @@
.class public Lvf/k;
.super Ljava/lang/Object;
.source "TrustSelfSignedStrategy.java"
# interfaces
.implements Lvf/l;
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public a([Ljava/security/cert/X509Certificate;Ljava/lang/String;)Z
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/cert/CertificateException;
}
.end annotation
.line 1
array-length p1, p1
const/4 p2, 0x1
if-ne p1, p2, :cond_0
goto :goto_0
:cond_0
const/4 p2, 0x0
:goto_0
return p2
.end method
+13
View File
@@ -0,0 +1,13 @@
.class public interface abstract Lvf/l;
.super Ljava/lang/Object;
.source "TrustStrategy.java"
# virtual methods
.method public abstract a([Ljava/security/cert/X509Certificate;Ljava/lang/String;)Z
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/cert/CertificateException;
}
.end annotation
.end method
+32
View File
@@ -0,0 +1,32 @@
.class public interface abstract Lvf/m;
.super Ljava/lang/Object;
.source "X509HostnameVerifier.java"
# interfaces
.implements Ljavax/net/ssl/HostnameVerifier;
# virtual methods
.method public abstract verify(Ljava/lang/String;Ljava/security/cert/X509Certificate;)V
.annotation system Ldalvik/annotation/Throws;
value = {
Ljavax/net/ssl/SSLException;
}
.end annotation
.end method
.method public abstract verify(Ljava/lang/String;Ljavax/net/ssl/SSLSocket;)V
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method
.method public abstract verify(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
.annotation system Ldalvik/annotation/Throws;
value = {
Ljavax/net/ssl/SSLException;
}
.end annotation
.end method