Support SslMasterKeyHandler in NettyServerBuilder
- 主要言語
- Java
- スター
- 12.1k
- フォーク
- 4k
- 平均マージ
- 2日 17時間
- マージ済み PR(30日)
- 37
説明
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?
コントリビューションガイド
調査の方向性
まず NettyServerBuilder.channelFactory と protocolNegotiator から始め、次に SslMasterKeyHandler.newWireSharkSslMasterKeyHandler と ProtocolNegotiators.serverTls を読みます。サーバー側の TLS マスターキー処理でサポートされている統合ポイントを特定します。完了の条件は、サーバーが接続を受け付けることを妨げずに、ハンドラーが NettyServerBuilder で動作することです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- grpc, java
- 領域
- backend, backend-api-design, security
- issue の種類
- 機能追加
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100