JdkSslEngineTest Class — netty Architecture
Architecture documentation for the JdkSslEngineTest class in JdkSslEngineTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 30adda7f_4d88_ce9b_59a8_bf86122e30b1["JdkSslEngineTest"] e624c181_478b_3b9a_d700_a3ea418318cb["JdkSslEngineTest.java"] 30adda7f_4d88_ce9b_59a8_bf86122e30b1 -->|defined in| e624c181_478b_3b9a_d700_a3ea418318cb 1e6f0628_6c75_d0d5_0efe_d63ce909eb7e["JdkSslEngineTest()"] 30adda7f_4d88_ce9b_59a8_bf86122e30b1 -->|method| 1e6f0628_6c75_d0d5_0efe_d63ce909eb7e 92bf6e23_ba24_8593_05d0_a8ad27bea3ba["newJdkParams()"] 30adda7f_4d88_ce9b_59a8_bf86122e30b1 -->|method| 92bf6e23_ba24_8593_05d0_a8ad27bea3ba 53efb741_5846_f89e_2045_c0f39bbe3252["testTlsExtension()"] 30adda7f_4d88_ce9b_59a8_bf86122e30b1 -->|method| 53efb741_5846_f89e_2045_c0f39bbe3252 a44ad743_f758_f3bc_6345_3c2e62b59be3["testTlsExtensionNoCompatibleProtocolsNoHandshakeFailure()"] 30adda7f_4d88_ce9b_59a8_bf86122e30b1 -->|method| a44ad743_f758_f3bc_6345_3c2e62b59be3 c55723e6_5df7_a049_e74b_079461ee59be["testTlsExtensionNoCompatibleProtocolsClientHandshakeFailure()"] 30adda7f_4d88_ce9b_59a8_bf86122e30b1 -->|method| c55723e6_5df7_a049_e74b_079461ee59be fee76d1f_9aaa_023f_04c0_15fab60f2426["testTlsExtensionNoCompatibleProtocolsServerHandshakeFailure()"] 30adda7f_4d88_ce9b_59a8_bf86122e30b1 -->|method| fee76d1f_9aaa_023f_04c0_15fab60f2426 fe41ba34_429d_b660_5140_73631e6770a4["testAlpnCompatibleProtocolsDifferentClientOrder()"] 30adda7f_4d88_ce9b_59a8_bf86122e30b1 -->|method| fe41ba34_429d_b660_5140_73631e6770a4 058ae6bf_5c1d_c4b1_9229_a1cfdd50362a["testEnablingAnAlreadyDisabledSslProtocol()"] 30adda7f_4d88_ce9b_59a8_bf86122e30b1 -->|method| 058ae6bf_5c1d_c4b1_9229_a1cfdd50362a 92a272ec_bf1c_d558_9570_b3bde9d3a5a5["testMutualAuthValidClientCertChainTooLongFailOptionalClientAuth()"] 30adda7f_4d88_ce9b_59a8_bf86122e30b1 -->|method| 92a272ec_bf1c_d558_9570_b3bde9d3a5a5 51a36e24_7f93_b98a_3dd7_a7d4f1ee17f4["testMutualAuthValidClientCertChainTooLongFailRequireClientAuth()"] 30adda7f_4d88_ce9b_59a8_bf86122e30b1 -->|method| 51a36e24_7f93_b98a_3dd7_a7d4f1ee17f4 d7523ba7_93b4_2406_54de_9d81b41a0d1a["mySetupMutualAuthServerIsValidException()"] 30adda7f_4d88_ce9b_59a8_bf86122e30b1 -->|method| d7523ba7_93b4_2406_54de_9d81b41a0d1a 26c9d431_d7e9_3f0f_c077_a396cd607cb3["runTest()"] 30adda7f_4d88_ce9b_59a8_bf86122e30b1 -->|method| 26c9d431_d7e9_3f0f_c077_a396cd607cb3 bb2f484e_02bb_b3cc_eac8_fd9f4346232a["SslProvider()"] 30adda7f_4d88_ce9b_59a8_bf86122e30b1 -->|method| bb2f484e_02bb_b3cc_eac8_fd9f4346232a
Relationship Graph
Source Code
handler/src/test/java/io/netty/handler/ssl/JdkSslEngineTest.java lines 44–361
public class JdkSslEngineTest extends SSLEngineTest {
public enum ProviderType {
ALPN_JAVA {
@Override
boolean isAvailable() {
return JdkAlpnSslUtils.supportsAlpn();
}
@Override
Protocol protocol() {
return Protocol.ALPN;
}
@Override
Provider provider() {
// Use the default provider.
return null;
}
},
ALPN_CONSCRYPT {
private Provider provider;
@Override
boolean isAvailable() {
return Conscrypt.isAvailable();
}
@Override
Protocol protocol() {
return Protocol.ALPN;
}
@Override
Provider provider() {
try {
if (provider == null) {
provider = (Provider) Class.forName("org.conscrypt.OpenSSLProvider")
.getConstructor().newInstance();
}
return provider;
} catch (Exception e) {
throw new IllegalStateException(e);
}
}
};
abstract boolean isAvailable();
abstract Protocol protocol();
abstract Provider provider();
final void activate(JdkSslEngineTest instance) {
// Typical code will not have to check this, but will get a initialization error on class load.
// Check in this test just in case we have multiple tests that just the class and we already ignored the
// initialization error.
if (!isAvailable()) {
throw tlsExtensionNotFound(protocol());
}
instance.provider = provider();
}
}
private static final String PREFERRED_APPLICATION_LEVEL_PROTOCOL = "my-protocol-http2";
private static final String FALLBACK_APPLICATION_LEVEL_PROTOCOL = "my-protocol-http1_1";
private static final String APPLICATION_LEVEL_PROTOCOL_NOT_COMPATIBLE = "my-protocol-FOO";
private Provider provider;
public JdkSslEngineTest() {
super(SslProvider.isTlsv13Supported(SslProvider.JDK));
}
List<JdkSSLEngineTestParam> newJdkParams() {
List<SSLEngineTestParam> params = newTestParams();
List<JdkSSLEngineTestParam> jdkParams = new ArrayList<JdkSSLEngineTestParam>();
for (ProviderType providerType: ProviderType.values()) {
for (SSLEngineTestParam param: params) {
jdkParams.add(new JdkSSLEngineTestParam(providerType, param));
}
}
return jdkParams;
Source
Frequently Asked Questions
What is the JdkSslEngineTest class?
JdkSslEngineTest is a class in the netty codebase, defined in handler/src/test/java/io/netty/handler/ssl/JdkSslEngineTest.java.
Where is JdkSslEngineTest defined?
JdkSslEngineTest is defined in handler/src/test/java/io/netty/handler/ssl/JdkSslEngineTest.java at line 44.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free