Rabbit-R1/switch port/java/sources/okhttp3/Handshake.java
2024-05-21 17:08:36 -04:00

273 lines
17 KiB
Java

package okhttp3;
import java.io.IOException;
import java.security.Principal;
import java.security.cert.Certificate;
import java.security.cert.X509Certificate;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import javax.net.ssl.SSLPeerUnverifiedException;
import javax.net.ssl.SSLSession;
import kotlin.Deprecated;
import kotlin.DeprecationLevel;
import kotlin.Lazy;
import kotlin.LazyKt;
import kotlin.Metadata;
import kotlin.ReplaceWith;
import kotlin.collections.CollectionsKt;
import kotlin.jvm.JvmStatic;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;
import okhttp3.internal.Util;
/* compiled from: Handshake.kt */
@Metadata(bv = {1, 0, 3}, d1 = {"\u0000H\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010 \n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u0007\n\u0002\u0010\u000e\n\u0002\b\u0004\n\u0002\u0010\u000b\n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\b\u0018\u0000 &2\u00020\u0001:\u0001&B9\b\u0000\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0005\u0012\f\u0010\u0006\u001a\b\u0012\u0004\u0012\u00020\b0\u0007\u0012\u0012\u0010\t\u001a\u000e\u0012\n\u0012\b\u0012\u0004\u0012\u00020\b0\u00070\\u0006\u0002\u0010\u000bJ\r\u0010\u0004\u001a\u00020\u0005H\u0007¢\u0006\u0002\b\u001aJ\u0013\u0010\u001b\u001a\u00020\u001c2\b\u0010\u001d\u001a\u0004\u0018\u00010\u0001H\u0096\u0002J\b\u0010\u001e\u001a\u00020\u001fH\u0016J\u0013\u0010\u0006\u001a\b\u0012\u0004\u0012\u00020\b0\u0007H\u0007¢\u0006\u0002\b J\u000f\u0010\u000e\u001a\u0004\u0018\u00010\u000fH\u0007¢\u0006\u0002\b!J\u0013\u0010\u0011\u001a\b\u0012\u0004\u0012\u00020\b0\u0007H\u0007¢\u0006\u0002\b\"J\u000f\u0010\u0014\u001a\u0004\u0018\u00010\u000fH\u0007¢\u0006\u0002\b#J\r\u0010\u0002\u001a\u00020\u0003H\u0007¢\u0006\u0002\b$J\b\u0010%\u001a\u00020\u0017H\u0016R\u0013\u0010\u0004\u001a\u00020\u00058\u0007¢\u0006\b\n\u0000\u001a\u0004\b\u0004\u0010\fR\u0019\u0010\u0006\u001a\b\u0012\u0004\u0012\u00020\b0\u00078\u0007¢\u0006\b\n\u0000\u001a\u0004\b\u0006\u0010\rR\u0013\u0010\u000e\u001a\u0004\u0018\u00010\u000f8G¢\u0006\u0006\u001a\u0004\b\u000e\u0010\u0010R!\u0010\u0011\u001a\b\u0012\u0004\u0012\u00020\b0\u00078GX\u0086\u0084\u0002¢\u0006\f\n\u0004\b\u0012\u0010\u0013\u001a\u0004\b\u0011\u0010\rR\u0013\u0010\u0014\u001a\u0004\u0018\u00010\u000f8G¢\u0006\u0006\u001a\u0004\b\u0014\u0010\u0010R\u0013\u0010\u0002\u001a\u00020\u00038\u0007¢\u0006\b\n\u0000\u001a\u0004\b\u0002\u0010\u0015R\u0018\u0010\u0016\u001a\u00020\u0017*\u00020\b8BX\u0082\u0004¢\u0006\u0006\u001a\u0004\b\u0018\u0010\u0019¨\u0006'"}, d2 = {"Lokhttp3/Handshake;", "", "tlsVersion", "Lokhttp3/TlsVersion;", "cipherSuite", "Lokhttp3/CipherSuite;", "localCertificates", "", "Ljava/security/cert/Certificate;", "peerCertificatesFn", "Lkotlin/Function0;", "(Lokhttp3/TlsVersion;Lokhttp3/CipherSuite;Ljava/util/List;Lkotlin/jvm/functions/Function0;)V", "()Lokhttp3/CipherSuite;", "()Ljava/util/List;", "localPrincipal", "Ljava/security/Principal;", "()Ljava/security/Principal;", "peerCertificates", "peerCertificates$delegate", "Lkotlin/Lazy;", "peerPrincipal", "()Lokhttp3/TlsVersion;", "name", "", "getName", "(Ljava/security/cert/Certificate;)Ljava/lang/String;", "-deprecated_cipherSuite", "equals", "", "other", "hashCode", "", "-deprecated_localCertificates", "-deprecated_localPrincipal", "-deprecated_peerCertificates", "-deprecated_peerPrincipal", "-deprecated_tlsVersion", "toString", "Companion", "okhttp"}, k = 1, mv = {1, 4, 0})
/* loaded from: classes3.dex */
public final class Handshake {
/* renamed from: Companion, reason: from kotlin metadata */
public static final Companion INSTANCE = new Companion(null);
private final CipherSuite cipherSuite;
private final List<Certificate> localCertificates;
/* renamed from: peerCertificates$delegate, reason: from kotlin metadata */
private final Lazy peerCertificates;
private final TlsVersion tlsVersion;
@JvmStatic
public static final Handshake get(SSLSession sSLSession) throws IOException {
return INSTANCE.get(sSLSession);
}
@JvmStatic
public static final Handshake get(TlsVersion tlsVersion, CipherSuite cipherSuite, List<? extends Certificate> list, List<? extends Certificate> list2) {
return INSTANCE.get(tlsVersion, cipherSuite, list, list2);
}
@Deprecated(level = DeprecationLevel.ERROR, message = "moved to val", replaceWith = @ReplaceWith(expression = "cipherSuite", imports = {}))
/* renamed from: -deprecated_cipherSuite, reason: not valid java name and from getter */
public final CipherSuite getCipherSuite() {
return this.cipherSuite;
}
@Deprecated(level = DeprecationLevel.ERROR, message = "moved to val", replaceWith = @ReplaceWith(expression = "localCertificates", imports = {}))
/* renamed from: -deprecated_localCertificates, reason: not valid java name */
public final List<Certificate> m7312deprecated_localCertificates() {
return this.localCertificates;
}
@Deprecated(level = DeprecationLevel.ERROR, message = "moved to val", replaceWith = @ReplaceWith(expression = "tlsVersion", imports = {}))
/* renamed from: -deprecated_tlsVersion, reason: not valid java name and from getter */
public final TlsVersion getTlsVersion() {
return this.tlsVersion;
}
public final CipherSuite cipherSuite() {
return this.cipherSuite;
}
public final List<Certificate> localCertificates() {
return this.localCertificates;
}
public final List<Certificate> peerCertificates() {
return (List) this.peerCertificates.getValue();
}
public final TlsVersion tlsVersion() {
return this.tlsVersion;
}
/* JADX WARN: Multi-variable type inference failed */
public Handshake(TlsVersion tlsVersion, CipherSuite cipherSuite, List<? extends Certificate> localCertificates, final Function0<? extends List<? extends Certificate>> peerCertificatesFn) {
Intrinsics.checkNotNullParameter(tlsVersion, "tlsVersion");
Intrinsics.checkNotNullParameter(cipherSuite, "cipherSuite");
Intrinsics.checkNotNullParameter(localCertificates, "localCertificates");
Intrinsics.checkNotNullParameter(peerCertificatesFn, "peerCertificatesFn");
this.tlsVersion = tlsVersion;
this.cipherSuite = cipherSuite;
this.localCertificates = localCertificates;
this.peerCertificates = LazyKt.lazy(new Function0<List<? extends Certificate>>() { // from class: okhttp3.Handshake$peerCertificates$2
/* JADX INFO: Access modifiers changed from: package-private */
{
super(0);
}
@Override // kotlin.jvm.functions.Function0
public final List<? extends Certificate> invoke() {
try {
return (List) Function0.this.invoke();
} catch (SSLPeerUnverifiedException unused) {
return CollectionsKt.emptyList();
}
}
});
}
@Deprecated(level = DeprecationLevel.ERROR, message = "moved to val", replaceWith = @ReplaceWith(expression = "peerCertificates", imports = {}))
/* renamed from: -deprecated_peerCertificates, reason: not valid java name */
public final List<Certificate> m7314deprecated_peerCertificates() {
return peerCertificates();
}
public final Principal peerPrincipal() {
Object firstOrNull = CollectionsKt.firstOrNull((List<? extends Object>) peerCertificates());
if (!(firstOrNull instanceof X509Certificate)) {
firstOrNull = null;
}
X509Certificate x509Certificate = (X509Certificate) firstOrNull;
return x509Certificate != null ? x509Certificate.getSubjectX500Principal() : null;
}
@Deprecated(level = DeprecationLevel.ERROR, message = "moved to val", replaceWith = @ReplaceWith(expression = "peerPrincipal", imports = {}))
/* renamed from: -deprecated_peerPrincipal, reason: not valid java name */
public final Principal m7315deprecated_peerPrincipal() {
return peerPrincipal();
}
public final Principal localPrincipal() {
Object firstOrNull = CollectionsKt.firstOrNull((List<? extends Object>) this.localCertificates);
if (!(firstOrNull instanceof X509Certificate)) {
firstOrNull = null;
}
X509Certificate x509Certificate = (X509Certificate) firstOrNull;
return x509Certificate != null ? x509Certificate.getSubjectX500Principal() : null;
}
@Deprecated(level = DeprecationLevel.ERROR, message = "moved to val", replaceWith = @ReplaceWith(expression = "localPrincipal", imports = {}))
/* renamed from: -deprecated_localPrincipal, reason: not valid java name */
public final Principal m7313deprecated_localPrincipal() {
return localPrincipal();
}
public boolean equals(Object other) {
if (other instanceof Handshake) {
Handshake handshake = (Handshake) other;
if (handshake.tlsVersion == this.tlsVersion && Intrinsics.areEqual(handshake.cipherSuite, this.cipherSuite) && Intrinsics.areEqual(handshake.peerCertificates(), peerCertificates()) && Intrinsics.areEqual(handshake.localCertificates, this.localCertificates)) {
return true;
}
}
return false;
}
public int hashCode() {
return ((((((527 + this.tlsVersion.hashCode()) * 31) + this.cipherSuite.hashCode()) * 31) + peerCertificates().hashCode()) * 31) + this.localCertificates.hashCode();
}
public String toString() {
List<Certificate> peerCertificates = peerCertificates();
ArrayList arrayList = new ArrayList(CollectionsKt.collectionSizeOrDefault(peerCertificates, 10));
Iterator<T> it = peerCertificates.iterator();
while (it.hasNext()) {
arrayList.add(getName((Certificate) it.next()));
}
StringBuilder append = new StringBuilder("Handshake{tlsVersion=").append(this.tlsVersion).append(" cipherSuite=").append(this.cipherSuite).append(" peerCertificates=").append(arrayList.toString()).append(" localCertificates=");
List<Certificate> list = this.localCertificates;
ArrayList arrayList2 = new ArrayList(CollectionsKt.collectionSizeOrDefault(list, 10));
Iterator<T> it2 = list.iterator();
while (it2.hasNext()) {
arrayList2.add(getName((Certificate) it2.next()));
}
return append.append(arrayList2).append('}').toString();
}
private final String getName(Certificate certificate) {
if (certificate instanceof X509Certificate) {
return ((X509Certificate) certificate).getSubjectDN().toString();
}
String type = certificate.getType();
Intrinsics.checkNotNullExpressionValue(type, "type");
return type;
}
/* compiled from: Handshake.kt */
@Metadata(bv = {1, 0, 3}, d1 = {"\u0000:\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010 \n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u0011\n\u0002\b\u0002\b\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J\u0015\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u0006H\u0007¢\u0006\u0002\b\u0007J4\u0010\u0003\u001a\u00020\u00042\u0006\u0010\b\u001a\u00020\t2\u0006\u0010\n\u001a\u00020\u000b2\f\u0010\f\u001a\b\u0012\u0004\u0012\u00020\u000e0\r2\f\u0010\u000f\u001a\b\u0012\u0004\u0012\u00020\u000e0\rH\u0007J\u0011\u0010\u0010\u001a\u00020\u0004*\u00020\u0006H\u0007¢\u0006\u0002\b\u0003J!\u0010\u0011\u001a\b\u0012\u0004\u0012\u00020\u000e0\r*\f\u0012\u0006\b\u0001\u0012\u00020\u000e\u0018\u00010\u0012H\u0002¢\u0006\u0002\u0010\u0013¨\u0006\u0014"}, d2 = {"Lokhttp3/Handshake$Companion;", "", "()V", "get", "Lokhttp3/Handshake;", "sslSession", "Ljavax/net/ssl/SSLSession;", "-deprecated_get", "tlsVersion", "Lokhttp3/TlsVersion;", "cipherSuite", "Lokhttp3/CipherSuite;", "peerCertificates", "", "Ljava/security/cert/Certificate;", "localCertificates", "handshake", "toImmutableList", "", "([Ljava/security/cert/Certificate;)Ljava/util/List;", "okhttp"}, k = 1, mv = {1, 4, 0})
/* loaded from: classes3.dex */
public static final class Companion {
private Companion() {
}
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
@JvmStatic
public final Handshake get(SSLSession handshake) throws IOException {
final List<Certificate> emptyList;
Intrinsics.checkNotNullParameter(handshake, "$this$handshake");
String cipherSuite = handshake.getCipherSuite();
if (cipherSuite == null) {
throw new IllegalStateException("cipherSuite == null".toString());
}
int hashCode = cipherSuite.hashCode();
if (hashCode == 1019404634 ? cipherSuite.equals("TLS_NULL_WITH_NULL_NULL") : hashCode == 1208658923 && cipherSuite.equals("SSL_NULL_WITH_NULL_NULL")) {
throw new IOException("cipherSuite == " + cipherSuite);
}
CipherSuite forJavaName = CipherSuite.INSTANCE.forJavaName(cipherSuite);
String protocol = handshake.getProtocol();
if (protocol == null) {
throw new IllegalStateException("tlsVersion == null".toString());
}
if (Intrinsics.areEqual("NONE", protocol)) {
throw new IOException("tlsVersion == NONE");
}
TlsVersion forJavaName2 = TlsVersion.INSTANCE.forJavaName(protocol);
try {
Companion companion = this;
emptyList = toImmutableList(handshake.getPeerCertificates());
} catch (SSLPeerUnverifiedException unused) {
emptyList = CollectionsKt.emptyList();
}
return new Handshake(forJavaName2, forJavaName, toImmutableList(handshake.getLocalCertificates()), new Function0<List<? extends Certificate>>() { // from class: okhttp3.Handshake$Companion$handshake$1
/* JADX INFO: Access modifiers changed from: package-private */
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
{
super(0);
}
@Override // kotlin.jvm.functions.Function0
public final List<? extends Certificate> invoke() {
return emptyList;
}
});
}
private final List<Certificate> toImmutableList(Certificate[] certificateArr) {
if (certificateArr != null) {
return Util.immutableListOf((Certificate[]) Arrays.copyOf(certificateArr, certificateArr.length));
}
return CollectionsKt.emptyList();
}
@Deprecated(level = DeprecationLevel.ERROR, message = "moved to extension function", replaceWith = @ReplaceWith(expression = "sslSession.handshake()", imports = {}))
/* renamed from: -deprecated_get, reason: not valid java name */
public final Handshake m7317deprecated_get(SSLSession sslSession) throws IOException {
Intrinsics.checkNotNullParameter(sslSession, "sslSession");
return get(sslSession);
}
@JvmStatic
public final Handshake get(TlsVersion tlsVersion, CipherSuite cipherSuite, List<? extends Certificate> peerCertificates, List<? extends Certificate> localCertificates) {
Intrinsics.checkNotNullParameter(tlsVersion, "tlsVersion");
Intrinsics.checkNotNullParameter(cipherSuite, "cipherSuite");
Intrinsics.checkNotNullParameter(peerCertificates, "peerCertificates");
Intrinsics.checkNotNullParameter(localCertificates, "localCertificates");
final List immutableList = Util.toImmutableList(peerCertificates);
return new Handshake(tlsVersion, cipherSuite, Util.toImmutableList(localCertificates), new Function0<List<? extends Certificate>>() { // from class: okhttp3.Handshake$Companion$get$1
/* JADX INFO: Access modifiers changed from: package-private */
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
{
super(0);
}
@Override // kotlin.jvm.functions.Function0
public final List<? extends Certificate> invoke() {
return immutableList;
}
});
}
}
}