mustFailHandshakePromiseIfResumeClientTrustedThrows() — netty Function Reference
Architecture documentation for the mustFailHandshakePromiseIfResumeClientTrustedThrows() function in SSLEngineTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 113b5345_411b_23dc_dd32_c73e87f2c618["mustFailHandshakePromiseIfResumeClientTrustedThrows()"] 9150c92a_2afc_b83a_c3bf_86dfac6e9d9b["SSLEngineTest"] 113b5345_411b_23dc_dd32_c73e87f2c618 -->|defined in| 9150c92a_2afc_b83a_c3bf_86dfac6e9d9b 3fb9b745_261d_4391_c31f_a44d5deeb05a["SessionValueSettingTrustManager()"] 113b5345_411b_23dc_dd32_c73e87f2c618 -->|calls| 3fb9b745_261d_4391_c31f_a44d5deeb05a 7adfb0fc_4606_499a_d9bf_e7487678f1c0["resumeClientTrusted()"] 113b5345_411b_23dc_dd32_c73e87f2c618 -->|calls| 7adfb0fc_4606_499a_d9bf_e7487678f1c0 3d8a44de_993f_2a06_4ab4_7636ad7d89eb["buildClientSslContextForMTLS()"] 113b5345_411b_23dc_dd32_c73e87f2c618 -->|calls| 3d8a44de_993f_2a06_4ab4_7636ad7d89eb 144a17f3_53a5_cd5c_ad3d_a22c4a90f0e3["buildServerSslContextForMTLS()"] 113b5345_411b_23dc_dd32_c73e87f2c618 -->|calls| 144a17f3_53a5_cd5c_ad3d_a22c4a90f0e3 a4c6f3c6_7c1f_4410_d6f3_c118e7483035["messageReceived()"] 113b5345_411b_23dc_dd32_c73e87f2c618 -->|calls| a4c6f3c6_7c1f_4410_d6f3_c118e7483035 c1ea24b4_912a_5bc9_eb9f_d097c21e00d3["setupServer()"] 113b5345_411b_23dc_dd32_c73e87f2c618 -->|calls| c1ea24b4_912a_5bc9_eb9f_d097c21e00d3 13aca077_a788_4333_9f8b_2b1437653846["delegate()"] 113b5345_411b_23dc_dd32_c73e87f2c618 -->|calls| 13aca077_a788_4333_9f8b_2b1437653846 5b1d05e1_aa74_d249_3836_8b69b42f579f["setupClient()"] 113b5345_411b_23dc_dd32_c73e87f2c618 -->|calls| 5b1d05e1_aa74_d249_3836_8b69b42f579f style 113b5345_411b_23dc_dd32_c73e87f2c618 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
handler/src/test/java/io/netty/handler/ssl/SSLEngineTest.java lines 4011–4075
@Timeout(value = 60, threadMode = Timeout.ThreadMode.SEPARATE_THREAD)
@MethodSource("newTestParams")
@ParameterizedTest
void mustFailHandshakePromiseIfResumeClientTrustedThrows(SSLEngineTestParam param) throws Exception {
final AtomicInteger checkClientTrustedCount = new AtomicInteger();
SelfSignedCertificate ssc = CachedSelfSignedCertificate.getCachedCertificate();
SessionValueSettingTrustManager clientTm = new SessionValueSettingTrustManager("key", "client");
SessionValueSettingTrustManager serverTm = new SessionValueSettingTrustManager("key", "server") {
@Override
public void checkClientTrusted(
java.security.cert.X509Certificate[] chain, String authType, SSLEngine engine)
throws CertificateException {
checkClientTrustedCount.incrementAndGet();
super.checkClientTrusted(chain, authType, engine);
}
@Override
public void resumeClientTrusted(java.security.cert.X509Certificate[] chain, SSLEngine engine)
throws CertificateException {
throw new CertificateException("Test exception");
}
};
buildClientSslContextForMTLS(param, ssc, clientTm);
buildServerSslContextForMTLS(param, ssc, serverTm);
OnNextMessage checkServer = new OnNextMessage() {
@Override
public void messageReceived(ChannelHandlerContext ctx, ByteBuf msg) throws Exception {
ctx.writeAndFlush(msg).addListener(ChannelFutureListener.CLOSE);
}
};
setupServer(param.type(), param.delegate());
InetSocketAddress addr = (InetSocketAddress) serverChannel.localAddress();
setupClient(param.type(), param.delegate(), "a.netty.io", addr.getPort());
Future<Channel> handshakeFuture = null;
for (int i = 0; i < 2; i++) {
serverReceiver.onNextMessages.offer(checkServer);
ChannelFuture ccf = cb.connect(addr);
assertTrue(ccf.syncUninterruptibly().isSuccess());
clientChannel = ccf.channel();
clientChannel.writeAndFlush(clientChannel.alloc().buffer().writeInt(42)).await();
clientChannel.closeFuture().sync();
handshakeFuture = serverSslHandshakeFuture;
}
int checkClientTrustedCalls = checkClientTrustedCount.get();
if (checkClientTrustedCalls == 1) {
do {
serverChannel.eventLoop().submit(NOOP).await(); // Wait for exception to propagate.
} while (serverException == null);
assertEquals("Test exception", serverException.getMessage());
assertNotNull(handshakeFuture);
assertTrue(handshakeFuture.isDone());
assertFalse(handshakeFuture.isSuccess());
assertEquals("Test exception", handshakeFuture.cause().getMessage());
} else {
assertEquals(2, checkClientTrustedCalls);
}
ByteBuf byteBuf;
while ((byteBuf = clientReceiver.messages.poll()) != null) {
byteBuf.release();
}
}
Domain
Subdomains
Calls
Source
Frequently Asked Questions
What does mustFailHandshakePromiseIfResumeClientTrustedThrows() do?
mustFailHandshakePromiseIfResumeClientTrustedThrows() is a function in the netty codebase, defined in handler/src/test/java/io/netty/handler/ssl/SSLEngineTest.java.
Where is mustFailHandshakePromiseIfResumeClientTrustedThrows() defined?
mustFailHandshakePromiseIfResumeClientTrustedThrows() is defined in handler/src/test/java/io/netty/handler/ssl/SSLEngineTest.java at line 4011.
What does mustFailHandshakePromiseIfResumeClientTrustedThrows() call?
mustFailHandshakePromiseIfResumeClientTrustedThrows() calls 8 function(s): SessionValueSettingTrustManager, buildClientSslContextForMTLS, buildServerSslContextForMTLS, delegate, messageReceived, resumeClientTrusted, setupClient, setupServer.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free