handle() — netty Function Reference
Architecture documentation for the handle() function in BoringSSLCertificateCallback.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 1ae3bf29_f26e_95be_f9d3_d5dc2a258dbf["handle()"] 0fd0c2dd_82bc_1c80_9d13_1c23c790e939["BoringSSLCertificateCallback"] 1ae3bf29_f26e_95be_f9d3_d5dc2a258dbf -->|defined in| 0fd0c2dd_82bc_1c80_9d13_1c23c790e939 a44defb1_f866_cc20_d5c6_0d9d7dd5d76d["supportedClientKeyTypes()"] 1ae3bf29_f26e_95be_f9d3_d5dc2a258dbf -->|calls| a44defb1_f866_cc20_d5c6_0d9d7dd5d76d 044e02ff_832f_7528_120e_8b7fef7bceac["removeMappingIfNeeded()"] 1ae3bf29_f26e_95be_f9d3_d5dc2a258dbf -->|calls| 044e02ff_832f_7528_120e_8b7fef7bceac 252b7f62_56c7_6714_7ef3_718b8db1a936["selectKeyMaterialClientSide()"] 1ae3bf29_f26e_95be_f9d3_d5dc2a258dbf -->|calls| 252b7f62_56c7_6714_7ef3_718b8db1a936 59a02504_ab5b_7b5b_8310_539c93c5a317["selectKeyMaterialServerSide()"] 1ae3bf29_f26e_95be_f9d3_d5dc2a258dbf -->|calls| 59a02504_ab5b_7b5b_8310_539c93c5a317 style 1ae3bf29_f26e_95be_f9d3_d5dc2a258dbf fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
codec-classes-quic/src/main/java/io/netty/handler/codec/quic/BoringSSLCertificateCallback.java lines 109–149
@SuppressWarnings("unused")
long @Nullable [] handle(long ssl, byte[] keyTypeBytes, byte @Nullable [][] asn1DerEncodedPrincipals,
String[] authMethods) {
QuicheQuicSslEngine engine = engineMap.get(ssl);
if (engine == null) {
return null;
}
try {
if (keyManager == null) {
if (engine.getUseClientMode()) {
return NO_KEY_MATERIAL_CLIENT_SIDE;
}
return null;
}
if (engine.getUseClientMode()) {
final Set<String> keyTypesSet = supportedClientKeyTypes(keyTypeBytes);
final String[] keyTypes = keyTypesSet.toArray(new String[0]);
final X500Principal[] issuers;
if (asn1DerEncodedPrincipals == null) {
issuers = null;
} else {
issuers = new X500Principal[asn1DerEncodedPrincipals.length];
for (int i = 0; i < asn1DerEncodedPrincipals.length; i++) {
issuers[i] = new X500Principal(asn1DerEncodedPrincipals[i]);
}
}
return removeMappingIfNeeded(ssl, selectKeyMaterialClientSide(ssl, engine, keyTypes, issuers));
} else {
// For now we just ignore the asn1DerEncodedPrincipals as this is kind of inline with what the
// OpenJDK SSLEngineImpl does.
return removeMappingIfNeeded(ssl, selectKeyMaterialServerSide(ssl, engine, authMethods));
}
} catch (SSLException e) {
engineMap.remove(ssl);
return null;
} catch (Throwable cause) {
engineMap.remove(ssl);
throw cause;
}
}
Domain
Subdomains
Defined In
Calls
Source
Frequently Asked Questions
What does handle() do?
handle() is a function in the netty codebase, defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/BoringSSLCertificateCallback.java.
Where is handle() defined?
handle() is defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/BoringSSLCertificateCallback.java at line 109.
What does handle() call?
handle() calls 4 function(s): removeMappingIfNeeded, selectKeyMaterialClientSide, selectKeyMaterialServerSide, supportedClientKeyTypes.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free