SslEngineProvider Type — netty Architecture
Architecture documentation for the SslEngineProvider type/interface in AbstractSslHandlerBenchmark.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD ed7762b1_62ac_e41e_7ece_131c8d83144b["SslEngineProvider"] 0229f7eb_0c18_7fcb_97be_20e80f2f8b36["AbstractSslHandlerBenchmark.java"] ed7762b1_62ac_e41e_7ece_131c8d83144b -->|defined in| 0229f7eb_0c18_7fcb_97be_20e80f2f8b36 style ed7762b1_62ac_e41e_7ece_131c8d83144b fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
microbench/src/main/java/io/netty/microbench/handler/ssl/AbstractSslHandlerBenchmark.java lines 41–106
public enum SslEngineProvider {
JDK {
@Override
SslProvider sslProvider() {
return SslProvider.JDK;
}
},
OPENSSL {
@Override
SslProvider sslProvider() {
return SslProvider.OPENSSL;
}
},
OPENSSL_REFCNT {
@Override
SslProvider sslProvider() {
return SslProvider.OPENSSL_REFCNT;
}
};
private final SslContext clientContext = newClientContext();
private final SslContext serverContext = newServerContext();
private SslContext newClientContext() {
try {
return SslContextBuilder.forClient()
.sslProvider(sslProvider())
.trustManager(InsecureTrustManagerFactory.INSTANCE)
.build();
} catch (SSLException e) {
throw new IllegalStateException(e);
}
}
private SslContext newServerContext() {
try {
File keyFile = new File(getClass().getResource("test_unencrypted.pem").getFile());
File crtFile = new File(getClass().getResource("test.crt").getFile());
return SslContextBuilder.forServer(crtFile, keyFile)
.sslProvider(sslProvider())
.build();
} catch (Exception e) {
throw new IllegalStateException(e);
}
}
SslHandler newClientHandler(ByteBufAllocator allocator, String cipher) {
SslHandler handler = clientContext.newHandler(allocator);
configureEngine(handler.engine(), cipher);
return handler;
}
SslHandler newServerHandler(ByteBufAllocator allocator, String cipher) {
SslHandler handler = serverContext.newHandler(allocator);
configureEngine(handler.engine(), cipher);
return handler;
}
abstract SslProvider sslProvider();
static SSLEngine configureEngine(SSLEngine engine, String cipher) {
engine.setEnabledProtocols(new String[]{ PROTOCOL_TLS_V1_2 });
engine.setEnabledCipherSuites(new String[]{ cipher });
return engine;
}
}
Defined In
Source
Frequently Asked Questions
What is the SslEngineProvider type?
SslEngineProvider is a type/interface in the netty codebase, defined in microbench/src/main/java/io/netty/microbench/handler/ssl/AbstractSslHandlerBenchmark.java.
Where is SslEngineProvider defined?
SslEngineProvider is defined in microbench/src/main/java/io/netty/microbench/handler/ssl/AbstractSslHandlerBenchmark.java at line 41.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free