Skip to content

Commit 8dd8749

Browse files
committed
Remove duplicate definitions of createTrustManager.
1 parent 01b0eb2 commit 8dd8749

File tree

3 files changed

+14
-67
lines changed

3 files changed

+14
-67
lines changed

core/src/main/java/io/grpc/internal/CertificateUtils.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,7 @@
2424
import java.security.cert.CertificateException;
2525
import java.security.cert.CertificateFactory;
2626
import java.security.cert.X509Certificate;
27-
import java.util.Arrays;
2827
import java.util.Collection;
29-
import java.util.List;
3028
import javax.net.ssl.TrustManager;
3129
import javax.net.ssl.TrustManagerFactory;
3230
import javax.security.auth.x500.X500Principal;
@@ -36,9 +34,9 @@
3634
*/
3735
public class CertificateUtils {
3836
/**
39-
* Creates a X509TrustManagers using the provided CA certs.
37+
* Creates X509TrustManagers using the provided CA certs.
4038
*/
41-
public static List<TrustManager> getTrustManagers(InputStream rootCerts)
39+
public static TrustManager[] createTrustManager(InputStream rootCerts)
4240
throws GeneralSecurityException {
4341
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
4442
try {
@@ -56,7 +54,7 @@ public static List<TrustManager> getTrustManagers(InputStream rootCerts)
5654
TrustManagerFactory trustManagerFactory =
5755
TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
5856
trustManagerFactory.init(ks);
59-
return Arrays.asList(trustManagerFactory.getTrustManagers());
57+
return trustManagerFactory.getTrustManagers();
6058
}
6159

6260
private static X509Certificate[] getX509Certificates(InputStream inputStream)

netty/src/main/java/io/grpc/netty/ProtocolNegotiators.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,8 @@ public static FromChannelCredentialsResult from(ChannelCredentials creds) {
136136
if (tlsCreds.getTrustManagers() != null) {
137137
trustManagers = tlsCreds.getTrustManagers();
138138
} else if (tlsCreds.getRootCertificates() != null) {
139-
trustManagers = CertificateUtils.getTrustManagers(
140-
new ByteArrayInputStream(tlsCreds.getRootCertificates()));
139+
trustManagers = Arrays.asList(CertificateUtils.createTrustManager(
140+
new ByteArrayInputStream(tlsCreds.getRootCertificates())));
141141
} else { // else use system default
142142
TrustManagerFactory tmf = TrustManagerFactory.getInstance(
143143
TrustManagerFactory.getDefaultAlgorithm());

okhttp/src/main/java/io/grpc/okhttp/OkHttpChannelBuilder.java

Lines changed: 9 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -16,37 +16,13 @@
1616

1717
package io.grpc.okhttp;
1818

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-
2319
import com.google.common.annotations.VisibleForTesting;
2420
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.*;
4423
import io.grpc.internal.ManagedChannelImplBuilder.ChannelBuilderDefaultPortProvider;
4524
import io.grpc.internal.ManagedChannelImplBuilder.ClientTransportFactoryBuilder;
46-
import io.grpc.internal.ObjectPool;
4725
import io.grpc.internal.SharedResourceHolder.Resource;
48-
import io.grpc.internal.SharedResourcePool;
49-
import io.grpc.internal.TransportTracer;
5026
import io.grpc.okhttp.internal.CipherSuite;
5127
import io.grpc.okhttp.internal.ConnectionSpec;
5228
import io.grpc.okhttp.internal.Platform;
@@ -65,24 +41,17 @@
6541
import java.util.Collections;
6642
import java.util.EnumSet;
6743
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.*;
7345
import java.util.logging.Level;
7446
import java.util.logging.Logger;
7547
import javax.annotation.CheckReturnValue;
7648
import javax.annotation.Nullable;
7749
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;
8655

8756
/** Convenience class for building channels with the OkHttp transport. */
8857
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/1785")
@@ -705,32 +674,12 @@ static KeyManager[] createKeyManager(InputStream certChain, InputStream privateK
705674
static TrustManager[] createTrustManager(byte[] rootCerts) throws GeneralSecurityException {
706675
InputStream rootCertsStream = new ByteArrayInputStream(rootCerts);
707676
try {
708-
return createTrustManager(rootCertsStream);
677+
return io.grpc.internal.CertificateUtils.createTrustManager(rootCertsStream);
709678
} finally {
710679
GrpcUtil.closeQuietly(rootCertsStream);
711680
}
712681
}
713682

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-
734683
static Collection<Class<? extends SocketAddress>> getSupportedSocketAddressTypes() {
735684
return Collections.singleton(InetSocketAddress.class);
736685
}

0 commit comments

Comments
 (0)