SslServerInitializerTest.java 文件源码

java
阅读 36 收藏 0 点赞 0 评论 0

项目:nomulus 作者:
private ChannelInitializer<LocalChannel> getClientInitializer(
    X509Certificate trustedCertificate,
    PrivateKey privateKey,
    X509Certificate certificate,
    Lock clientLock,
    ByteBuf buffer,
    Exception clientException) {
  return new ChannelInitializer<LocalChannel>() {
    @Override
    protected void initChannel(LocalChannel ch) throws Exception {
      SslContextBuilder sslContextBuilder =
          SslContextBuilder.forClient().trustManager(trustedCertificate);
      if (privateKey != null && certificate != null) {
        sslContextBuilder.keyManager(privateKey, certificate);
      }
      SslHandler sslHandler =
          sslContextBuilder.build().newHandler(ch.alloc(), SSL_HOST, SSL_PORT);

      // Enable hostname verification.
      SSLEngine sslEngine = sslHandler.engine();
      SSLParameters sslParameters = sslEngine.getSSLParameters();
      sslParameters.setEndpointIdentificationAlgorithm("HTTPS");
      sslEngine.setSSLParameters(sslParameters);

      ch.pipeline().addLast("Client SSL Handler", sslHandler);
      ch.pipeline().addLast(new DumpHandler(clientLock, buffer, clientException));
    }
  };
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号