|
16 | 16 |
|
17 | 17 | package io.grpc.okhttp; |
18 | 18 |
|
19 | | -import static com.google.common.base.Preconditions.checkNotNull; |
20 | | -import static io.grpc.internal.GrpcUtil.DEFAULT_KEEPALIVE_TIMEOUT_NANOS; |
21 | | -import static io.grpc.internal.GrpcUtil.KEEPALIVE_TIME_NANOS_DISABLED; |
22 | | - |
23 | 19 | import com.google.common.annotations.VisibleForTesting; |
24 | 20 | import com.google.common.base.Preconditions; |
25 | | -import io.grpc.CallCredentials; |
26 | | -import io.grpc.ChannelCredentials; |
27 | | -import io.grpc.ChannelLogger; |
28 | | -import io.grpc.ChoiceChannelCredentials; |
29 | | -import io.grpc.CompositeCallCredentials; |
30 | | -import io.grpc.CompositeChannelCredentials; |
31 | | -import io.grpc.ExperimentalApi; |
32 | | -import io.grpc.ForwardingChannelBuilder2; |
33 | | -import io.grpc.InsecureChannelCredentials; |
34 | | -import io.grpc.Internal; |
35 | | -import io.grpc.ManagedChannelBuilder; |
36 | | -import io.grpc.TlsChannelCredentials; |
37 | | -import io.grpc.internal.AtomicBackoff; |
38 | | -import io.grpc.internal.ClientTransportFactory; |
39 | | -import io.grpc.internal.ConnectionClientTransport; |
40 | | -import io.grpc.internal.FixedObjectPool; |
41 | | -import io.grpc.internal.GrpcUtil; |
42 | | -import io.grpc.internal.KeepAliveManager; |
43 | | -import io.grpc.internal.ManagedChannelImplBuilder; |
| 21 | +import io.grpc.*; |
| 22 | +import io.grpc.internal.*; |
44 | 23 | import io.grpc.internal.ManagedChannelImplBuilder.ChannelBuilderDefaultPortProvider; |
45 | 24 | import io.grpc.internal.ManagedChannelImplBuilder.ClientTransportFactoryBuilder; |
46 | | -import io.grpc.internal.ObjectPool; |
47 | 25 | import io.grpc.internal.SharedResourceHolder.Resource; |
48 | | -import io.grpc.internal.SharedResourcePool; |
49 | | -import io.grpc.internal.TransportTracer; |
50 | 26 | import io.grpc.okhttp.internal.CipherSuite; |
51 | 27 | import io.grpc.okhttp.internal.ConnectionSpec; |
52 | 28 | import io.grpc.okhttp.internal.Platform; |
|
65 | 41 | import java.util.Collections; |
66 | 42 | import java.util.EnumSet; |
67 | 43 | import java.util.Set; |
68 | | -import java.util.concurrent.Executor; |
69 | | -import java.util.concurrent.ExecutorService; |
70 | | -import java.util.concurrent.Executors; |
71 | | -import java.util.concurrent.ScheduledExecutorService; |
72 | | -import java.util.concurrent.TimeUnit; |
| 44 | +import java.util.concurrent.*; |
73 | 45 | import java.util.logging.Level; |
74 | 46 | import java.util.logging.Logger; |
75 | 47 | import javax.annotation.CheckReturnValue; |
76 | 48 | import javax.annotation.Nullable; |
77 | 49 | import javax.net.SocketFactory; |
78 | | -import javax.net.ssl.HostnameVerifier; |
79 | | -import javax.net.ssl.KeyManager; |
80 | | -import javax.net.ssl.KeyManagerFactory; |
81 | | -import javax.net.ssl.SSLContext; |
82 | | -import javax.net.ssl.SSLSocketFactory; |
83 | | -import javax.net.ssl.TrustManager; |
84 | | -import javax.net.ssl.TrustManagerFactory; |
85 | | -import javax.security.auth.x500.X500Principal; |
| 50 | +import javax.net.ssl.*; |
| 51 | + |
| 52 | +import static com.google.common.base.Preconditions.checkNotNull; |
| 53 | +import static io.grpc.internal.GrpcUtil.DEFAULT_KEEPALIVE_TIMEOUT_NANOS; |
| 54 | +import static io.grpc.internal.GrpcUtil.KEEPALIVE_TIME_NANOS_DISABLED; |
86 | 55 |
|
87 | 56 | /** Convenience class for building channels with the OkHttp transport. */ |
88 | 57 | @ExperimentalApi("https://github.com/grpc/grpc-java/issues/1785") |
@@ -705,32 +674,12 @@ static KeyManager[] createKeyManager(InputStream certChain, InputStream privateK |
705 | 674 | static TrustManager[] createTrustManager(byte[] rootCerts) throws GeneralSecurityException { |
706 | 675 | InputStream rootCertsStream = new ByteArrayInputStream(rootCerts); |
707 | 676 | try { |
708 | | - return createTrustManager(rootCertsStream); |
| 677 | + return io.grpc.internal.CertificateUtils.createTrustManager(rootCertsStream); |
709 | 678 | } finally { |
710 | 679 | GrpcUtil.closeQuietly(rootCertsStream); |
711 | 680 | } |
712 | 681 | } |
713 | 682 |
|
714 | | - static TrustManager[] createTrustManager(InputStream rootCerts) throws GeneralSecurityException { |
715 | | - KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType()); |
716 | | - try { |
717 | | - ks.load(null, null); |
718 | | - } catch (IOException ex) { |
719 | | - // Shouldn't really happen, as we're not loading any data. |
720 | | - throw new GeneralSecurityException(ex); |
721 | | - } |
722 | | - X509Certificate[] certs = CertificateUtils.getX509Certificates(rootCerts); |
723 | | - for (X509Certificate cert : certs) { |
724 | | - X500Principal principal = cert.getSubjectX500Principal(); |
725 | | - ks.setCertificateEntry(principal.getName("RFC2253"), cert); |
726 | | - } |
727 | | - |
728 | | - TrustManagerFactory trustManagerFactory = |
729 | | - TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); |
730 | | - trustManagerFactory.init(ks); |
731 | | - return trustManagerFactory.getTrustManagers(); |
732 | | - } |
733 | | - |
734 | 683 | static Collection<Class<? extends SocketAddress>> getSupportedSocketAddressTypes() { |
735 | 684 | return Collections.singleton(InetSocketAddress.class); |
736 | 685 | } |
|
0 commit comments