SimpleKeyManagerFactorySpi Class — netty Architecture
Architecture documentation for the SimpleKeyManagerFactorySpi class in SimpleKeyManagerFactory.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 34674136_0ff0_b4f7_08cd_547cf324bc5f["SimpleKeyManagerFactorySpi"] 1188aec6_2cdc_b81c_6b3c_72e2066903b3["SimpleKeyManagerFactory.java"] 34674136_0ff0_b4f7_08cd_547cf324bc5f -->|defined in| 1188aec6_2cdc_b81c_6b3c_72e2066903b3 622be1ba_5d78_aa42_3e34_7867c4299568["init()"] 34674136_0ff0_b4f7_08cd_547cf324bc5f -->|method| 622be1ba_5d78_aa42_3e34_7867c4299568 665ea37e_aeef_3d5e_64b4_6170a8521538["engineInit()"] 34674136_0ff0_b4f7_08cd_547cf324bc5f -->|method| 665ea37e_aeef_3d5e_64b4_6170a8521538 0c390dac_1113_d718_0c73_80456077c757["engineGetKeyManagers()"] 34674136_0ff0_b4f7_08cd_547cf324bc5f -->|method| 0c390dac_1113_d718_0c73_80456077c757 bee45766_2cfa_2e58_9a80_47fa156c9f51["wrapIfNeeded()"] 34674136_0ff0_b4f7_08cd_547cf324bc5f -->|method| bee45766_2cfa_2e58_9a80_47fa156c9f51
Relationship Graph
Source Code
handler/src/main/java/io/netty/handler/ssl/util/SimpleKeyManagerFactory.java lines 98–149
private static final class SimpleKeyManagerFactorySpi extends KeyManagerFactorySpi {
private SimpleKeyManagerFactory parent;
private volatile KeyManager[] keyManagers;
void init(SimpleKeyManagerFactory parent) {
this.parent = parent;
}
@Override
protected void engineInit(KeyStore keyStore, char[] pwd) throws KeyStoreException {
try {
parent.engineInit(keyStore, pwd);
} catch (KeyStoreException e) {
throw e;
} catch (Exception e) {
throw new KeyStoreException(e);
}
}
@Override
protected void engineInit(
ManagerFactoryParameters managerFactoryParameters) throws InvalidAlgorithmParameterException {
try {
parent.engineInit(managerFactoryParameters);
} catch (InvalidAlgorithmParameterException e) {
throw e;
} catch (Exception e) {
throw new InvalidAlgorithmParameterException(e);
}
}
@Override
protected KeyManager[] engineGetKeyManagers() {
KeyManager[] keyManagers = this.keyManagers;
if (keyManagers == null) {
keyManagers = parent.engineGetKeyManagers();
wrapIfNeeded(keyManagers);
this.keyManagers = keyManagers;
}
return keyManagers.clone();
}
private static void wrapIfNeeded(KeyManager[] keyManagers) {
for (int i = 0; i < keyManagers.length; i++) {
final KeyManager tm = keyManagers[i];
if (tm instanceof X509KeyManager && !(tm instanceof X509ExtendedKeyManager)) {
keyManagers[i] = new X509KeyManagerWrapper((X509KeyManager) tm);
}
}
}
}
Source
Frequently Asked Questions
What is the SimpleKeyManagerFactorySpi class?
SimpleKeyManagerFactorySpi is a class in the netty codebase, defined in handler/src/main/java/io/netty/handler/ssl/util/SimpleKeyManagerFactory.java.
Where is SimpleKeyManagerFactorySpi defined?
SimpleKeyManagerFactorySpi is defined in handler/src/main/java/io/netty/handler/ssl/util/SimpleKeyManagerFactory.java at line 98.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free