311 lines
		
	
	
		
			9.8 KiB
		
	
	
	
		
			Smali
		
	
	
	
	
	
			
		
		
	
	
			311 lines
		
	
	
		
			9.8 KiB
		
	
	
	
		
			Smali
		
	
	
	
	
	
.class public final Lokhttp3/internal/platform/android/BouncyCastleSocketAdapter;
 | 
						|
.super Ljava/lang/Object;
 | 
						|
.source "BouncyCastleSocketAdapter.kt"
 | 
						|
 | 
						|
# interfaces
 | 
						|
.implements Lokhttp3/internal/platform/android/SocketAdapter;
 | 
						|
 | 
						|
 | 
						|
# annotations
 | 
						|
.annotation system Ldalvik/annotation/MemberClasses;
 | 
						|
    value = {
 | 
						|
        Lokhttp3/internal/platform/android/BouncyCastleSocketAdapter$Companion;
 | 
						|
    }
 | 
						|
.end annotation
 | 
						|
 | 
						|
.annotation system Ldalvik/annotation/SourceDebugExtension;
 | 
						|
    value = "SMAP\nBouncyCastleSocketAdapter.kt\nKotlin\n*S Kotlin\n*F\n+ 1 BouncyCastleSocketAdapter.kt\nokhttp3/internal/platform/android/BouncyCastleSocketAdapter\n+ 2 ArraysJVM.kt\nkotlin/collections/ArraysKt__ArraysJVMKt\n*L\n1#1,68:1\n37#2,2:69\n*E\n*S KotlinDebug\n*F\n+ 1 BouncyCastleSocketAdapter.kt\nokhttp3/internal/platform/android/BouncyCastleSocketAdapter\n*L\n53#1,2:69\n*E\n"
 | 
						|
.end annotation
 | 
						|
 | 
						|
.annotation runtime Lkotlin/Metadata;
 | 
						|
    bv = {}
 | 
						|
    d1 = {
 | 
						|
        "\u00000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0002\u0008\u0002\n\u0002\u0010\u000e\n\u0002\u0008\u0002\n\u0002\u0010 \n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0005\u0018\u0000 \u00112\u00020\u0001:\u0001\u0011B\u0007\u00a2\u0006\u0004\u0008\u000f\u0010\u0010J\u0010\u0010\u0005\u001a\u00020\u00042\u0006\u0010\u0003\u001a\u00020\u0002H\u0016J\u0008\u0010\u0006\u001a\u00020\u0004H\u0016J\u0012\u0010\u0008\u001a\u0004\u0018\u00010\u00072\u0006\u0010\u0003\u001a\u00020\u0002H\u0016J(\u0010\u000e\u001a\u00020\r2\u0006\u0010\u0003\u001a\u00020\u00022\u0008\u0010\t\u001a\u0004\u0018\u00010\u00072\u000c\u0010\u000c\u001a\u0008\u0012\u0004\u0012\u00020\u000b0\nH\u0016\u00a8\u0006\u0012"
 | 
						|
    }
 | 
						|
    d2 = {
 | 
						|
        "Lokhttp3/internal/platform/android/BouncyCastleSocketAdapter;",
 | 
						|
        "Lokhttp3/internal/platform/android/SocketAdapter;",
 | 
						|
        "Ljavax/net/ssl/SSLSocket;",
 | 
						|
        "sslSocket",
 | 
						|
        "",
 | 
						|
        "matchesSocket",
 | 
						|
        "isSupported",
 | 
						|
        "",
 | 
						|
        "getSelectedProtocol",
 | 
						|
        "hostname",
 | 
						|
        "",
 | 
						|
        "Lokhttp3/Protocol;",
 | 
						|
        "protocols",
 | 
						|
        "Lkotlin/d1;",
 | 
						|
        "configureTlsExtensions",
 | 
						|
        "<init>",
 | 
						|
        "()V",
 | 
						|
        "Companion",
 | 
						|
        "okhttp"
 | 
						|
    }
 | 
						|
    k = 0x1
 | 
						|
    mv = {
 | 
						|
        0x1,
 | 
						|
        0x4,
 | 
						|
        0x0
 | 
						|
    }
 | 
						|
.end annotation
 | 
						|
 | 
						|
 | 
						|
# static fields
 | 
						|
.field public static final Companion:Lokhttp3/internal/platform/android/BouncyCastleSocketAdapter$Companion;
 | 
						|
 | 
						|
.field private static final factory:Lokhttp3/internal/platform/android/DeferredSocketAdapter$Factory;
 | 
						|
    .annotation build Lorg/jetbrains/annotations/NotNull;
 | 
						|
    .end annotation
 | 
						|
.end field
 | 
						|
 | 
						|
 | 
						|
# direct methods
 | 
						|
.method public static constructor <clinit>()V
 | 
						|
    .locals 2
 | 
						|
 | 
						|
    new-instance v0, Lokhttp3/internal/platform/android/BouncyCastleSocketAdapter$Companion;
 | 
						|
 | 
						|
    const/4 v1, 0x0
 | 
						|
 | 
						|
    invoke-direct {v0, v1}, Lokhttp3/internal/platform/android/BouncyCastleSocketAdapter$Companion;-><init>(Lkotlin/jvm/internal/u;)V
 | 
						|
 | 
						|
    sput-object v0, Lokhttp3/internal/platform/android/BouncyCastleSocketAdapter;->Companion:Lokhttp3/internal/platform/android/BouncyCastleSocketAdapter$Companion;
 | 
						|
 | 
						|
    .line 1
 | 
						|
    new-instance v0, Lokhttp3/internal/platform/android/BouncyCastleSocketAdapter$Companion$factory$1;
 | 
						|
 | 
						|
    invoke-direct {v0}, Lokhttp3/internal/platform/android/BouncyCastleSocketAdapter$Companion$factory$1;-><init>()V
 | 
						|
 | 
						|
    sput-object v0, Lokhttp3/internal/platform/android/BouncyCastleSocketAdapter;->factory:Lokhttp3/internal/platform/android/DeferredSocketAdapter$Factory;
 | 
						|
 | 
						|
    return-void
 | 
						|
.end method
 | 
						|
 | 
						|
.method public constructor <init>()V
 | 
						|
    .locals 0
 | 
						|
 | 
						|
    .line 1
 | 
						|
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V
 | 
						|
 | 
						|
    return-void
 | 
						|
.end method
 | 
						|
 | 
						|
.method public static final synthetic access$getFactory$cp()Lokhttp3/internal/platform/android/DeferredSocketAdapter$Factory;
 | 
						|
    .locals 1
 | 
						|
 | 
						|
    .line 1
 | 
						|
    sget-object v0, Lokhttp3/internal/platform/android/BouncyCastleSocketAdapter;->factory:Lokhttp3/internal/platform/android/DeferredSocketAdapter$Factory;
 | 
						|
 | 
						|
    return-object v0
 | 
						|
.end method
 | 
						|
 | 
						|
 | 
						|
# virtual methods
 | 
						|
.method public configureTlsExtensions(Ljavax/net/ssl/SSLSocket;Ljava/lang/String;Ljava/util/List;)V
 | 
						|
    .locals 1
 | 
						|
    .param p1    # Ljavax/net/ssl/SSLSocket;
 | 
						|
        .annotation build Lorg/jetbrains/annotations/NotNull;
 | 
						|
        .end annotation
 | 
						|
    .end param
 | 
						|
    .param p2    # Ljava/lang/String;
 | 
						|
        .annotation build Lorg/jetbrains/annotations/Nullable;
 | 
						|
        .end annotation
 | 
						|
    .end param
 | 
						|
    .param p3    # Ljava/util/List;
 | 
						|
        .annotation build Lorg/jetbrains/annotations/NotNull;
 | 
						|
        .end annotation
 | 
						|
    .end param
 | 
						|
    .annotation system Ldalvik/annotation/Signature;
 | 
						|
        value = {
 | 
						|
            "(",
 | 
						|
            "Ljavax/net/ssl/SSLSocket;",
 | 
						|
            "Ljava/lang/String;",
 | 
						|
            "Ljava/util/List<",
 | 
						|
            "+",
 | 
						|
            "Lokhttp3/Protocol;",
 | 
						|
            ">;)V"
 | 
						|
        }
 | 
						|
    .end annotation
 | 
						|
 | 
						|
    const-string p2, "sslSocket"
 | 
						|
 | 
						|
    invoke-static {p1, p2}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V
 | 
						|
 | 
						|
    const-string p2, "protocols"
 | 
						|
 | 
						|
    invoke-static {p3, p2}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V
 | 
						|
 | 
						|
    .line 1
 | 
						|
    invoke-virtual {p0, p1}, Lokhttp3/internal/platform/android/BouncyCastleSocketAdapter;->matchesSocket(Ljavax/net/ssl/SSLSocket;)Z
 | 
						|
 | 
						|
    move-result p2
 | 
						|
 | 
						|
    if-eqz p2, :cond_0
 | 
						|
 | 
						|
    .line 2
 | 
						|
    check-cast p1, Lorg/bouncycastle/jsse/BCSSLSocket;
 | 
						|
 | 
						|
    .line 3
 | 
						|
    invoke-interface {p1}, Lorg/bouncycastle/jsse/BCSSLSocket;->getParameters()Lorg/bouncycastle/jsse/BCSSLParameters;
 | 
						|
 | 
						|
    move-result-object p2
 | 
						|
 | 
						|
    const-string v0, "sslParameters"
 | 
						|
 | 
						|
    .line 4
 | 
						|
    invoke-static {p2, v0}, Lkotlin/jvm/internal/f0;->o(Ljava/lang/Object;Ljava/lang/String;)V
 | 
						|
 | 
						|
    sget-object v0, Lokhttp3/internal/platform/Platform;->Companion:Lokhttp3/internal/platform/Platform$Companion;
 | 
						|
 | 
						|
    invoke-virtual {v0, p3}, Lokhttp3/internal/platform/Platform$Companion;->alpnProtocolNames(Ljava/util/List;)Ljava/util/List;
 | 
						|
 | 
						|
    move-result-object p3
 | 
						|
 | 
						|
    const/4 v0, 0x0
 | 
						|
 | 
						|
    new-array v0, v0, [Ljava/lang/String;
 | 
						|
 | 
						|
    .line 5
 | 
						|
    invoke-interface {p3, v0}, Ljava/util/Collection;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
 | 
						|
 | 
						|
    move-result-object p3
 | 
						|
 | 
						|
    const-string v0, "null cannot be cast to non-null type kotlin.Array<T>"
 | 
						|
 | 
						|
    invoke-static {p3, v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
 | 
						|
 | 
						|
    check-cast p3, [Ljava/lang/String;
 | 
						|
 | 
						|
    invoke-virtual {p2, p3}, Lorg/bouncycastle/jsse/BCSSLParameters;->setApplicationProtocols([Ljava/lang/String;)V
 | 
						|
 | 
						|
    .line 6
 | 
						|
    invoke-interface {p1, p2}, Lorg/bouncycastle/jsse/BCSSLSocket;->setParameters(Lorg/bouncycastle/jsse/BCSSLParameters;)V
 | 
						|
 | 
						|
    :cond_0
 | 
						|
    return-void
 | 
						|
.end method
 | 
						|
 | 
						|
.method public getSelectedProtocol(Ljavax/net/ssl/SSLSocket;)Ljava/lang/String;
 | 
						|
    .locals 1
 | 
						|
    .param p1    # Ljavax/net/ssl/SSLSocket;
 | 
						|
        .annotation build Lorg/jetbrains/annotations/NotNull;
 | 
						|
        .end annotation
 | 
						|
    .end param
 | 
						|
    .annotation build Lorg/jetbrains/annotations/Nullable;
 | 
						|
    .end annotation
 | 
						|
 | 
						|
    const-string v0, "sslSocket"
 | 
						|
 | 
						|
    invoke-static {p1, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V
 | 
						|
 | 
						|
    .line 1
 | 
						|
    check-cast p1, Lorg/bouncycastle/jsse/BCSSLSocket;
 | 
						|
 | 
						|
    .line 2
 | 
						|
    invoke-interface {p1}, Lorg/bouncycastle/jsse/BCSSLSocket;->getApplicationProtocol()Ljava/lang/String;
 | 
						|
 | 
						|
    move-result-object p1
 | 
						|
 | 
						|
    if-nez p1, :cond_0
 | 
						|
 | 
						|
    goto :goto_0
 | 
						|
 | 
						|
    :cond_0
 | 
						|
    invoke-virtual {p1}, Ljava/lang/String;->hashCode()I
 | 
						|
 | 
						|
    move-result v0
 | 
						|
 | 
						|
    if-eqz v0, :cond_1
 | 
						|
 | 
						|
    goto :goto_1
 | 
						|
 | 
						|
    :cond_1
 | 
						|
    const-string v0, ""
 | 
						|
 | 
						|
    .line 3
 | 
						|
    invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
 | 
						|
 | 
						|
    move-result v0
 | 
						|
 | 
						|
    if-eqz v0, :cond_2
 | 
						|
 | 
						|
    :goto_0
 | 
						|
    const/4 p1, 0x0
 | 
						|
 | 
						|
    :cond_2
 | 
						|
    :goto_1
 | 
						|
    return-object p1
 | 
						|
.end method
 | 
						|
 | 
						|
.method public isSupported()Z
 | 
						|
    .locals 1
 | 
						|
 | 
						|
    .line 1
 | 
						|
    sget-object v0, Lokhttp3/internal/platform/BouncyCastlePlatform;->Companion:Lokhttp3/internal/platform/BouncyCastlePlatform$Companion;
 | 
						|
 | 
						|
    invoke-virtual {v0}, Lokhttp3/internal/platform/BouncyCastlePlatform$Companion;->isSupported()Z
 | 
						|
 | 
						|
    move-result v0
 | 
						|
 | 
						|
    return v0
 | 
						|
.end method
 | 
						|
 | 
						|
.method public matchesSocket(Ljavax/net/ssl/SSLSocket;)Z
 | 
						|
    .locals 1
 | 
						|
    .param p1    # Ljavax/net/ssl/SSLSocket;
 | 
						|
        .annotation build Lorg/jetbrains/annotations/NotNull;
 | 
						|
        .end annotation
 | 
						|
    .end param
 | 
						|
 | 
						|
    const-string v0, "sslSocket"
 | 
						|
 | 
						|
    invoke-static {p1, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V
 | 
						|
 | 
						|
    .line 1
 | 
						|
    instance-of p1, p1, Lorg/bouncycastle/jsse/BCSSLSocket;
 | 
						|
 | 
						|
    return p1
 | 
						|
.end method
 | 
						|
 | 
						|
.method public matchesSocketFactory(Ljavax/net/ssl/SSLSocketFactory;)Z
 | 
						|
    .locals 1
 | 
						|
    .param p1    # Ljavax/net/ssl/SSLSocketFactory;
 | 
						|
        .annotation build Lorg/jetbrains/annotations/NotNull;
 | 
						|
        .end annotation
 | 
						|
    .end param
 | 
						|
 | 
						|
    const-string v0, "sslSocketFactory"
 | 
						|
 | 
						|
    invoke-static {p1, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V
 | 
						|
 | 
						|
    .line 1
 | 
						|
    invoke-static {p0, p1}, Lokhttp3/internal/platform/android/SocketAdapter$DefaultImpls;->matchesSocketFactory(Lokhttp3/internal/platform/android/SocketAdapter;Ljavax/net/ssl/SSLSocketFactory;)Z
 | 
						|
 | 
						|
    move-result p1
 | 
						|
 | 
						|
    return p1
 | 
						|
.end method
 | 
						|
 | 
						|
.method public trustManager(Ljavax/net/ssl/SSLSocketFactory;)Ljavax/net/ssl/X509TrustManager;
 | 
						|
    .locals 1
 | 
						|
    .param p1    # Ljavax/net/ssl/SSLSocketFactory;
 | 
						|
        .annotation build Lorg/jetbrains/annotations/NotNull;
 | 
						|
        .end annotation
 | 
						|
    .end param
 | 
						|
    .annotation build Lorg/jetbrains/annotations/Nullable;
 | 
						|
    .end annotation
 | 
						|
 | 
						|
    const-string v0, "sslSocketFactory"
 | 
						|
 | 
						|
    invoke-static {p1, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V
 | 
						|
 | 
						|
    .line 1
 | 
						|
    invoke-static {p0, p1}, Lokhttp3/internal/platform/android/SocketAdapter$DefaultImpls;->trustManager(Lokhttp3/internal/platform/android/SocketAdapter;Ljavax/net/ssl/SSLSocketFactory;)Ljavax/net/ssl/X509TrustManager;
 | 
						|
 | 
						|
    move-result-object p1
 | 
						|
 | 
						|
    return-object p1
 | 
						|
.end method
 |