grpc/grpc-java

Support SslMasterKeyHandler in NettyServerBuilder

Open

#7 199 ouverte le 10 juil. 2020

Voir sur GitHub
 (15 commentaires) (1 réaction) (0 assignés)Java (3 742 forks)batch import
enhancementgood first issue

Métriques du dépôt

Stars
 (11 124 stars)
Métriques de merge PR
 (Merge moyen 23j 22h) (43 PRs mergées en 30 j)

Description

I have a problem with adding SslMasterKeyHandler#newWireSharkSslMasterKeyHandler on the server side. I tried to do this with channelFactory:

builder.channelFactory(() -> {
          final ServerChannel ch = GrpcUtil.getDefaultServerChannelFactory().newChannel();
          final ChannelPipeline pipeline = ch.pipeline();
          pipeline.addLast(SslMasterKeyHandler.newWireSharkSslMasterKeyHandler());
          return ch;
        })

and later with ProtocolNegotiator:

final SslContext sslContext = GrpcSslContexts.configure(sslClientContextBuilder).build();
final io.grpc.netty.ProtocolNegotiator negotiator = ProtocolNegotiators.serverTls(sslContext);
builder.protocolNegotiator(tlsNegotiator(negotiator);

In the first case, the setting had no effect. In the second case, the server worked incorrectly (it stopped accepting connections, even without a handler, just with a negotiator wrapper).

What should be the proper implementation?

Guide contributeur