SniX509KeyManagerFactory() — netty Function Reference
Architecture documentation for the SniX509KeyManagerFactory() function in SniClientJava8TestUtil.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD f882bf99_3cd9_9a35_c5f8_5874c37a2048["SniX509KeyManagerFactory()"] a72d3a33_546a_77c0_628c_f56e0af014b1["SniX509KeyManagerFactory"] f882bf99_3cd9_9a35_c5f8_5874c37a2048 -->|defined in| a72d3a33_546a_77c0_628c_f56e0af014b1 86227cee_7e5a_5a57_a651_a59222fa026e["KeyManagerFactory()"] 86227cee_7e5a_5a57_a651_a59222fa026e -->|calls| f882bf99_3cd9_9a35_c5f8_5874c37a2048 e3ee0985_f02a_54e3_64f8_e4ac6b7f7881["engineInit()"] f882bf99_3cd9_9a35_c5f8_5874c37a2048 -->|calls| e3ee0985_f02a_54e3_64f8_e4ac6b7f7881 9ca4cda7_1660_5ecb_777f_e15c90a21b7f["assertSSLSession()"] f882bf99_3cd9_9a35_c5f8_5874c37a2048 -->|calls| 9ca4cda7_1660_5ecb_777f_e15c90a21b7f style f882bf99_3cd9_9a35_c5f8_5874c37a2048 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
handler/src/test/java/io/netty/handler/ssl/SniClientJava8TestUtil.java lines 270–345
SniX509KeyManagerFactory(final SNIServerName name, final KeyManagerFactory factory) {
super(new KeyManagerFactorySpi() {
@Override
protected void engineInit(KeyStore keyStore, char[] chars)
throws KeyStoreException, NoSuchAlgorithmException, UnrecoverableKeyException {
factory.init(keyStore, chars);
}
@Override
protected void engineInit(ManagerFactoryParameters managerFactoryParameters)
throws InvalidAlgorithmParameterException {
factory.init(managerFactoryParameters);
}
@Override
protected KeyManager[] engineGetKeyManagers() {
List<KeyManager> managers = new ArrayList<KeyManager>();
for (final KeyManager km: factory.getKeyManagers()) {
if (km instanceof X509ExtendedKeyManager) {
managers.add(new X509ExtendedKeyManager() {
@Override
public String[] getClientAliases(String s, Principal[] principals) {
return ((X509ExtendedKeyManager) km).getClientAliases(s, principals);
}
@Override
public String chooseClientAlias(String[] strings, Principal[] principals,
Socket socket) {
return ((X509ExtendedKeyManager) km).chooseClientAlias(strings, principals, socket);
}
@Override
public String[] getServerAliases(String s, Principal[] principals) {
return ((X509ExtendedKeyManager) km).getServerAliases(s, principals);
}
@Override
public String chooseServerAlias(String s, Principal[] principals, Socket socket) {
return ((X509ExtendedKeyManager) km).chooseServerAlias(s, principals, socket);
}
@Override
public X509Certificate[] getCertificateChain(String s) {
return ((X509ExtendedKeyManager) km).getCertificateChain(s);
}
@Override
public PrivateKey getPrivateKey(String s) {
return ((X509ExtendedKeyManager) km).getPrivateKey(s);
}
@Override
public String chooseEngineClientAlias(String[] strings, Principal[] principals,
SSLEngine sslEngine) {
return ((X509ExtendedKeyManager) km)
.chooseEngineClientAlias(strings, principals, sslEngine);
}
@Override
public String chooseEngineServerAlias(String s, Principal[] principals,
SSLEngine sslEngine) {
SSLSession session = sslEngine.getHandshakeSession();
assertSSLSession(sslEngine.getUseClientMode(), session, name);
return ((X509ExtendedKeyManager) km)
.chooseEngineServerAlias(s, principals, sslEngine);
}
});
} else {
managers.add(km);
}
}
return managers.toArray(new KeyManager[0]);
}
}, factory.getProvider(), factory.getAlgorithm());
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does SniX509KeyManagerFactory() do?
SniX509KeyManagerFactory() is a function in the netty codebase, defined in handler/src/test/java/io/netty/handler/ssl/SniClientJava8TestUtil.java.
Where is SniX509KeyManagerFactory() defined?
SniX509KeyManagerFactory() is defined in handler/src/test/java/io/netty/handler/ssl/SniClientJava8TestUtil.java at line 270.
What does SniX509KeyManagerFactory() call?
SniX509KeyManagerFactory() calls 2 function(s): assertSSLSession, engineInit.
What calls SniX509KeyManagerFactory()?
SniX509KeyManagerFactory() is called by 1 function(s): KeyManagerFactory.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free