use of io.netty.handler.ssl.SslContext in project grpc-java by grpc.
the class NettyClientTransportTest method startServer.
private void startServer(int maxStreamsPerConnection, int maxHeaderListSize) throws IOException {
File serverCert = TestUtils.loadCert("server1.pem");
File key = TestUtils.loadCert("server1.key");
SslContext serverContext = GrpcSslContexts.forServer(serverCert, key).ciphers(TestUtils.preferredTestCiphers(), SupportedCipherSuiteFilter.INSTANCE).build();
ProtocolNegotiator negotiator = ProtocolNegotiators.serverTls(serverContext);
server = new NettyServer(TestUtils.testServerAddress(0), NioServerSocketChannel.class, group, group, negotiator, maxStreamsPerConnection, DEFAULT_WINDOW_SIZE, DEFAULT_MAX_MESSAGE_SIZE, maxHeaderListSize);
server.start(serverListener);
address = TestUtils.testServerAddress(server.getPort());
authority = GrpcUtil.authorityFromHostAndPort(address.getHostString(), address.getPort());
}
use of io.netty.handler.ssl.SslContext in project grpc-java by grpc.
the class ConcurrencyTest method newServer.
/**
* Creates and starts a new {@link TestServiceImpl} server.
*/
private Server newServer() throws CertificateException, IOException {
File serverCertChainFile = TestUtils.loadCert("server1.pem");
File serverPrivateKeyFile = TestUtils.loadCert("server1.key");
X509Certificate[] serverTrustedCaCerts = { TestUtils.loadX509Cert("ca.pem") };
SslContext sslContext = GrpcSslContexts.forServer(serverCertChainFile, serverPrivateKeyFile).trustManager(serverTrustedCaCerts).clientAuth(ClientAuth.REQUIRE).build();
return NettyServerBuilder.forPort(0).sslContext(sslContext).addService(new TestServiceImpl(serverExecutor)).build().start();
}
use of io.netty.handler.ssl.SslContext in project grpc-java by grpc.
the class NettyServerBuilderTest method failIfSslContextIsNotServer.
@Test
public void failIfSslContextIsNotServer() {
SslContext sslContext = mock(SslContext.class);
when(sslContext.isClient()).thenReturn(true);
NettyServerBuilder builder = NettyServerBuilder.forPort(8080);
thrown.expect(IllegalArgumentException.class);
thrown.expectMessage("Client SSL context can not be used for server");
builder.sslContext(sslContext);
}
use of io.netty.handler.ssl.SslContext in project grpc-java by grpc.
the class ProtocolNegotiatorsTest method tls_hostAndPort.
@Test
public void tls_hostAndPort() throws SSLException {
SslContext ctx = GrpcSslContexts.forClient().build();
TlsNegotiator negotiator = (TlsNegotiator) ProtocolNegotiators.tls(ctx, "authority:1234");
assertEquals("authority", negotiator.getHost());
assertEquals(1234, negotiator.getPort());
}
use of io.netty.handler.ssl.SslContext in project grpc-java by grpc.
the class ProtocolNegotiatorsTest method tls_invalidHost.
@Test
public void tls_invalidHost() throws SSLException {
SslContext ctx = GrpcSslContexts.forClient().build();
TlsNegotiator negotiator = (TlsNegotiator) ProtocolNegotiators.tls(ctx, "bad_host:1234");
// Even though it looks like a port, we treat it as part of the authority, since the host is
// invalid.
assertEquals("bad_host:1234", negotiator.getHost());
assertEquals(-1, negotiator.getPort());
}
Aggregations