use of org.apache.flink.shaded.netty4.io.netty.handler.codec.string.StringDecoder in project flink by apache.
the class NettyClientServerSslTest method testSslHandshakeError.
/**
* Verify SSL handshake error when untrusted server certificate is used.
*/
@Test
public void testSslHandshakeError() throws Exception {
NettyProtocol protocol = new NoOpProtocol();
Configuration config = createSslConfig();
// Use a server certificate which is not present in the truststore
config.setString(SecurityOptions.SSL_INTERNAL_KEYSTORE, "src/test/resources/untrusted.keystore");
NettyTestUtil.NettyServerAndClient serverAndClient;
try (NetUtils.Port port = NetUtils.getAvailablePort()) {
NettyConfig nettyConfig = createNettyConfig(config, port);
serverAndClient = NettyTestUtil.initServerAndClient(protocol, nettyConfig);
}
Assert.assertNotNull("serverAndClient is null due to fail to get a free port", serverAndClient);
Channel ch = NettyTestUtil.connect(serverAndClient);
ch.pipeline().addLast(new StringDecoder()).addLast(new StringEncoder());
// Attempting to write data over ssl should fail
assertFalse(ch.writeAndFlush("test").await().isSuccess());
NettyTestUtil.shutdown(serverAndClient);
}
use of org.apache.flink.shaded.netty4.io.netty.handler.codec.string.StringDecoder in project flink by apache.
the class NettyClientServerSslTest method testClientUntrustedCertificate.
@Test
public void testClientUntrustedCertificate() throws Exception {
final Configuration serverConfig = createSslConfig();
final Configuration clientConfig = createSslConfig();
// give the client a different keystore / certificate
clientConfig.setString(SecurityOptions.SSL_INTERNAL_KEYSTORE, "src/test/resources/untrusted.keystore");
NettyServerAndClient serverAndClient;
try (NetUtils.Port serverPort = NetUtils.getAvailablePort();
NetUtils.Port clientPort = NetUtils.getAvailablePort()) {
final NettyConfig nettyServerConfig = createNettyConfig(serverConfig, serverPort);
final NettyConfig nettyClientConfig = createNettyConfig(clientConfig, clientPort);
final NettyBufferPool bufferPool = new NettyBufferPool(1);
final NettyProtocol protocol = new NoOpProtocol();
final NettyServer server = NettyTestUtil.initServer(nettyServerConfig, protocol, bufferPool);
final NettyClient client = NettyTestUtil.initClient(nettyClientConfig, protocol, bufferPool);
serverAndClient = new NettyServerAndClient(server, client);
}
Assert.assertNotNull("serverAndClient is null due to fail to get a free port", serverAndClient);
final Channel ch = NettyTestUtil.connect(serverAndClient);
ch.pipeline().addLast(new StringDecoder()).addLast(new StringEncoder());
// Attempting to write data over ssl should fail
assertFalse(ch.writeAndFlush("test").await().isSuccess());
NettyTestUtil.shutdown(serverAndClient);
}
use of org.apache.flink.shaded.netty4.io.netty.handler.codec.string.StringDecoder in project apollo by apollo-rsps.
the class JagGrabChannelInitializer method initChannel.
@Override
public void initChannel(SocketChannel ch) throws Exception {
ChannelPipeline pipeline = ch.pipeline();
pipeline.addLast("framer", new DelimiterBasedFrameDecoder(MAX_REQUEST_LENGTH, DOUBLE_LINE_FEED_DELIMITER));
pipeline.addLast("string-decoder", new StringDecoder(JAGGRAB_CHARSET));
pipeline.addLast("jaggrab-decoder", new JagGrabRequestDecoder());
pipeline.addLast("jaggrab-encoder", new JagGrabResponseEncoder());
pipeline.addLast("timeout", new IdleStateHandler(NetworkConstants.IDLE_TIME, 0, 0));
pipeline.addLast("handler", handler);
}
Aggregations