ExtendedOpenSslSession Class — netty Architecture
Architecture documentation for the ExtendedOpenSslSession class in ExtendedOpenSslSession.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 835034fc_685f_5f00_94f5_614858a55cc9["ExtendedOpenSslSession"] c12c78b8_bda0_22c4_51a4_8212623d53b4["ExtendedOpenSslSession.java"] 835034fc_685f_5f00_94f5_614858a55cc9 -->|defined in| c12c78b8_bda0_22c4_51a4_8212623d53b4 13f48e57_13fa_d6ab_57e4_5f07d6bcdd48["ExtendedOpenSslSession()"] 835034fc_685f_5f00_94f5_614858a55cc9 -->|method| 13f48e57_13fa_d6ab_57e4_5f07d6bcdd48 ddfaea7e_ab09_929a_4b21_00d182356eb1["getRequestedServerNames()"] 835034fc_685f_5f00_94f5_614858a55cc9 -->|method| ddfaea7e_ab09_929a_4b21_00d182356eb1 ee31c808_9c4e_c91b_a906_5604b2419b32["getStatusResponses()"] 835034fc_685f_5f00_94f5_614858a55cc9 -->|method| ee31c808_9c4e_c91b_a906_5604b2419b32 896a5b9a_5509_2cf6_31eb_056cd34f681b["prepareHandshake()"] 835034fc_685f_5f00_94f5_614858a55cc9 -->|method| 896a5b9a_5509_2cf6_31eb_056cd34f681b 49cc3bb1_614b_0a21_3ade_59547e460f08["keyValueStorage()"] 835034fc_685f_5f00_94f5_614858a55cc9 -->|method| 49cc3bb1_614b_0a21_3ade_59547e460f08 a1248ee9_5cf8_1522_6c46_084f78846168["OpenSslSessionId()"] 835034fc_685f_5f00_94f5_614858a55cc9 -->|method| a1248ee9_5cf8_1522_6c46_084f78846168 10c2e2b0_b15a_3005_ea76_3917d35acc66["setSessionDetails()"] 835034fc_685f_5f00_94f5_614858a55cc9 -->|method| 10c2e2b0_b15a_3005_ea76_3917d35acc66 90078637_3c63_c92c_58ca_075b57cba7a6["setLocalCertificate()"] 835034fc_685f_5f00_94f5_614858a55cc9 -->|method| 90078637_3c63_c92c_58ca_075b57cba7a6 9e489775_4a92_7528_507b_daf66db2b8c2["getPeerSupportedSignatureAlgorithms()"] 835034fc_685f_5f00_94f5_614858a55cc9 -->|method| 9e489775_4a92_7528_507b_daf66db2b8c2 07bfb221_4088_8a73_78e9_736f5107a1cb["tryExpandApplicationBufferSize()"] 835034fc_685f_5f00_94f5_614858a55cc9 -->|method| 07bfb221_4088_8a73_78e9_736f5107a1cb 00f75c3a_dad7_c443_c23d_4b5ef2d46ccb["getLocalSupportedSignatureAlgorithms()"] 835034fc_685f_5f00_94f5_614858a55cc9 -->|method| 00f75c3a_dad7_c443_c23d_4b5ef2d46ccb ca87c1ba_d71f_1b79_ea6b_81c069c094bd["getId()"] 835034fc_685f_5f00_94f5_614858a55cc9 -->|method| ca87c1ba_d71f_1b79_ea6b_81c069c094bd c24353f0_f7f6_92fa_644a_8055af4f315a["OpenSslSessionContext()"] 835034fc_685f_5f00_94f5_614858a55cc9 -->|method| c24353f0_f7f6_92fa_644a_8055af4f315a
Relationship Graph
Source Code
handler/src/main/java/io/netty/handler/ssl/ExtendedOpenSslSession.java lines 37–270
abstract class ExtendedOpenSslSession extends ExtendedSSLSession implements OpenSslInternalSession {
// TODO: use OpenSSL API to actually fetch the real data but for now just do what Conscrypt does:
// https://github.com/google/conscrypt/blob/1.2.0/common/
// src/main/java/org/conscrypt/Java7ExtendedSSLSession.java#L32
private static final String[] LOCAL_SUPPORTED_SIGNATURE_ALGORITHMS = {
"SHA512withRSA", "SHA512withECDSA", "SHA384withRSA", "SHA384withECDSA", "SHA256withRSA",
"SHA256withECDSA", "SHA224withRSA", "SHA224withECDSA", "SHA1withRSA", "SHA1withECDSA",
"RSASSA-PSS",
};
private final OpenSslInternalSession wrapped;
ExtendedOpenSslSession(OpenSslInternalSession wrapped) {
this.wrapped = wrapped;
}
@Override
public abstract List<SNIServerName> getRequestedServerNames();
// Do not mark as override so we can compile on java8.
public List<byte[]> getStatusResponses() {
// Just return an empty list for now until we support it as otherwise we will fail in java9
// because of their sun.security.ssl.X509TrustManagerImpl class.
return Collections.emptyList();
}
@Override
public void prepareHandshake() {
wrapped.prepareHandshake();
}
@Override
public Map<String, Object> keyValueStorage() {
return wrapped.keyValueStorage();
}
@Override
public OpenSslSessionId sessionId() {
return wrapped.sessionId();
}
@Override
public void setSessionDetails(long creationTime, long lastAccessedTime, OpenSslSessionId id,
Map<String, Object> keyValueStorage) {
wrapped.setSessionDetails(creationTime, lastAccessedTime, id, keyValueStorage);
}
@Override
public final void setLocalCertificate(Certificate[] localCertificate) {
wrapped.setLocalCertificate(localCertificate);
}
@Override
public String[] getPeerSupportedSignatureAlgorithms() {
return EmptyArrays.EMPTY_STRINGS;
}
@Override
public final void tryExpandApplicationBufferSize(int packetLengthDataOnly) {
wrapped.tryExpandApplicationBufferSize(packetLengthDataOnly);
}
@Override
public final String[] getLocalSupportedSignatureAlgorithms() {
return LOCAL_SUPPORTED_SIGNATURE_ALGORITHMS.clone();
}
@Override
public final byte[] getId() {
return wrapped.getId();
}
@Override
public final OpenSslSessionContext getSessionContext() {
return wrapped.getSessionContext();
}
@Override
public final long getCreationTime() {
return wrapped.getCreationTime();
Source
Frequently Asked Questions
What is the ExtendedOpenSslSession class?
ExtendedOpenSslSession is a class in the netty codebase, defined in handler/src/main/java/io/netty/handler/ssl/ExtendedOpenSslSession.java.
Where is ExtendedOpenSslSession defined?
ExtendedOpenSslSession is defined in handler/src/main/java/io/netty/handler/ssl/ExtendedOpenSslSession.java at line 37.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free