SslContext Class — netty Architecture
Architecture documentation for the SslContext class in SslContext.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD ec56e535_0508_8846_8172_a704185d370e["SslContext"] b23c1bca_09de_e79b_f8bf_2ab31cd15d04["SslContext.java"] ec56e535_0508_8846_8172_a704185d370e -->|defined in| b23c1bca_09de_e79b_f8bf_2ab31cd15d04 ee4bbebb_f18a_c683_e402_26963bb0edee["SslProvider()"] ec56e535_0508_8846_8172_a704185d370e -->|method| ee4bbebb_f18a_c683_e402_26963bb0edee 580512d6_7357_fe46_10ad_036b279d6b9b["SslContext()"] ec56e535_0508_8846_8172_a704185d370e -->|method| 580512d6_7357_fe46_10ad_036b279d6b9b bb63f22a_114c_9b47_8a1b_5d2246791897["verifyNullSslContextProvider()"] ec56e535_0508_8846_8172_a704185d370e -->|method| bb63f22a_114c_9b47_8a1b_5d2246791897 e7cbc46e_5090_cd09_9654_160359fee68f["ApplicationProtocolConfig()"] ec56e535_0508_8846_8172_a704185d370e -->|method| e7cbc46e_5090_cd09_9654_160359fee68f 0f01004a_c79c_cb96_33d6_53be91fffb9b["AttributeMap()"] ec56e535_0508_8846_8172_a704185d370e -->|method| 0f01004a_c79c_cb96_33d6_53be91fffb9b d0f03157_79b7_7e71_5457_dfcda648b0a6["isServer()"] ec56e535_0508_8846_8172_a704185d370e -->|method| d0f03157_79b7_7e71_5457_dfcda648b0a6 38137c50_89bb_82d8_ac6c_61e22cc51fd3["isClient()"] ec56e535_0508_8846_8172_a704185d370e -->|method| 38137c50_89bb_82d8_ac6c_61e22cc51fd3 1c573144_cd89_3161_53dc_cd4ffa588ceb["cipherSuites()"] ec56e535_0508_8846_8172_a704185d370e -->|method| 1c573144_cd89_3161_53dc_cd4ffa588ceb 8918d9d4_34bd_292b_1bd5_eae604aa8118["sessionCacheSize()"] ec56e535_0508_8846_8172_a704185d370e -->|method| 8918d9d4_34bd_292b_1bd5_eae604aa8118 76169878_36e1_5c0d_9ee0_be3369ed1483["sessionTimeout()"] ec56e535_0508_8846_8172_a704185d370e -->|method| 76169878_36e1_5c0d_9ee0_be3369ed1483 f707e7e7_1760_44f1_f84d_d5e62d0140a4["nextProtocols()"] ec56e535_0508_8846_8172_a704185d370e -->|method| f707e7e7_1760_44f1_f84d_d5e62d0140a4 b24573ef_04c1_13f7_c94f_8642b119752c["ApplicationProtocolNegotiator()"] ec56e535_0508_8846_8172_a704185d370e -->|method| b24573ef_04c1_13f7_c94f_8642b119752c 6a9dbc23_401d_015a_9de3_36547e4b7ad2["SSLEngine()"] ec56e535_0508_8846_8172_a704185d370e -->|method| 6a9dbc23_401d_015a_9de3_36547e4b7ad2
Relationship Graph
Source Code
handler/src/main/java/io/netty/handler/ssl/SslContext.java lines 96–1381
public abstract class SslContext {
static final String ALIAS = "key";
static final CertificateFactory X509_CERT_FACTORY;
static {
try {
X509_CERT_FACTORY = CertificateFactory.getInstance("X.509");
} catch (CertificateException e) {
throw new IllegalStateException("unable to instance X.509 CertificateFactory", e);
}
}
private final boolean startTls;
private final AttributeMap attributes = new DefaultAttributeMap();
final ResumptionController resumptionController;
private static final String OID_PKCS5_PBES2 = "1.2.840.113549.1.5.13";
private static final String PBES2 = "PBES2";
/**
* Returns the default server-side implementation provider currently in use.
*
* @return {@link SslProvider#OPENSSL} if OpenSSL is available. {@link SslProvider#JDK} otherwise.
*/
public static SslProvider defaultServerProvider() {
return defaultProvider();
}
/**
* Returns the default client-side implementation provider currently in use.
*
* @return {@link SslProvider#OPENSSL} if OpenSSL is available. {@link SslProvider#JDK} otherwise.
*/
public static SslProvider defaultClientProvider() {
return defaultProvider();
}
private static SslProvider defaultProvider() {
if (OpenSsl.isAvailable()) {
return SslProvider.OPENSSL;
} else {
return SslProvider.JDK;
}
}
/**
* Creates a new server-side {@link SslContext}.
*
* @param certChainFile an X.509 certificate chain file in PEM format
* @param keyFile a PKCS#8 private key file in PEM format
* @return a new server-side {@link SslContext}
* @deprecated Replaced by {@link SslContextBuilder}
*/
@Deprecated
public static SslContext newServerContext(File certChainFile, File keyFile) throws SSLException {
return newServerContext(certChainFile, keyFile, null);
}
/**
* Creates a new server-side {@link SslContext}.
*
* @param certChainFile an X.509 certificate chain file in PEM format
* @param keyFile a PKCS#8 private key file in PEM format
* @param keyPassword the password of the {@code keyFile}.
* {@code null} if it's not password-protected.
* @return a new server-side {@link SslContext}
* @deprecated Replaced by {@link SslContextBuilder}
*/
@Deprecated
public static SslContext newServerContext(
File certChainFile, File keyFile, String keyPassword) throws SSLException {
return newServerContext(null, certChainFile, keyFile, keyPassword);
}
/**
* Creates a new server-side {@link SslContext}.
*
* @param certChainFile an X.509 certificate chain file in PEM format
* @param keyFile a PKCS#8 private key file in PEM format
* @param keyPassword the password of the {@code keyFile}.
* {@code null} if it's not password-protected.
* @param ciphers the cipher suites to enable, in the order of preference.
Source
Frequently Asked Questions
What is the SslContext class?
SslContext is a class in the netty codebase, defined in handler/src/main/java/io/netty/handler/ssl/SslContext.java.
Where is SslContext defined?
SslContext is defined in handler/src/main/java/io/netty/handler/ssl/SslContext.java at line 96.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free