Initial commit
This commit is contained in:
52
sources/okhttp3/internal/tls/BasicTrustRootIndex.java
Normal file
52
sources/okhttp3/internal/tls/BasicTrustRootIndex.java
Normal file
@@ -0,0 +1,52 @@
|
||||
package okhttp3.internal.tls;
|
||||
|
||||
import java.security.cert.X509Certificate;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import javax.security.auth.x500.X500Principal;
|
||||
|
||||
/* loaded from: classes2.dex */
|
||||
public final class BasicTrustRootIndex implements TrustRootIndex {
|
||||
private final Map<X500Principal, Set<X509Certificate>> subjectToCaCerts = new LinkedHashMap();
|
||||
|
||||
public BasicTrustRootIndex(X509Certificate... x509CertificateArr) {
|
||||
for (X509Certificate x509Certificate : x509CertificateArr) {
|
||||
X500Principal subjectX500Principal = x509Certificate.getSubjectX500Principal();
|
||||
Set<X509Certificate> set = this.subjectToCaCerts.get(subjectX500Principal);
|
||||
if (set == null) {
|
||||
set = new LinkedHashSet<>(1);
|
||||
this.subjectToCaCerts.put(subjectX500Principal, set);
|
||||
}
|
||||
set.add(x509Certificate);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
return (obj instanceof BasicTrustRootIndex) && ((BasicTrustRootIndex) obj).subjectToCaCerts.equals(this.subjectToCaCerts);
|
||||
}
|
||||
|
||||
@Override // okhttp3.internal.tls.TrustRootIndex
|
||||
public X509Certificate findByIssuerAndSignature(X509Certificate x509Certificate) {
|
||||
Set<X509Certificate> set = this.subjectToCaCerts.get(x509Certificate.getIssuerX500Principal());
|
||||
if (set == null) {
|
||||
return null;
|
||||
}
|
||||
for (X509Certificate x509Certificate2 : set) {
|
||||
try {
|
||||
x509Certificate.verify(x509Certificate2.getPublicKey());
|
||||
return x509Certificate2;
|
||||
} catch (Exception unused) {
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return this.subjectToCaCerts.hashCode();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user