OpenSslKeyStore Class — netty Architecture
Architecture documentation for the OpenSslKeyStore class in OpenSslX509KeyManagerFactory.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 3ffd78ea_f206_ec18_fdf9_628babdf3f2a["OpenSslKeyStore"] 892beaa7_380c_8fb8_48c5_080b863277a3["OpenSslX509KeyManagerFactory.java"] 3ffd78ea_f206_ec18_fdf9_628babdf3f2a -->|defined in| 892beaa7_380c_8fb8_48c5_080b863277a3 ca2710e0_b807_bbf8_b61a_c5523132d9b9["OpenSslKeyStore()"] 3ffd78ea_f206_ec18_fdf9_628babdf3f2a -->|method| ca2710e0_b807_bbf8_b61a_c5523132d9b9
Relationship Graph
Source Code
handler/src/main/java/io/netty/handler/ssl/OpenSslX509KeyManagerFactory.java lines 299–415
private static final class OpenSslKeyStore extends KeyStore {
private OpenSslKeyStore(final X509Certificate[] certificateChain, final boolean keyless) {
super(new KeyStoreSpi() {
private final Date creationDate = new Date();
@Override
public Key engineGetKey(String alias, char[] password) throws UnrecoverableKeyException {
if (engineContainsAlias(alias)) {
final long privateKeyAddress;
if (keyless) {
privateKeyAddress = 0;
} else {
try {
privateKeyAddress = SSL.loadPrivateKeyFromEngine(
alias, password == null ? null : new String(password));
} catch (Exception e) {
UnrecoverableKeyException keyException =
new UnrecoverableKeyException("Unable to load key from engine");
keyException.initCause(e);
throw keyException;
}
}
return new OpenSslPrivateKey(privateKeyAddress);
}
return null;
}
@Override
public Certificate[] engineGetCertificateChain(String alias) {
return engineContainsAlias(alias)? certificateChain.clone() : null;
}
@Override
public Certificate engineGetCertificate(String alias) {
return engineContainsAlias(alias)? certificateChain[0] : null;
}
@Override
public Date engineGetCreationDate(String alias) {
return engineContainsAlias(alias)? creationDate : null;
}
@Override
public void engineSetKeyEntry(String alias, Key key, char[] password, Certificate[] chain)
throws KeyStoreException {
throw new KeyStoreException("Not supported");
}
@Override
public void engineSetKeyEntry(String alias, byte[] key, Certificate[] chain) throws KeyStoreException {
throw new KeyStoreException("Not supported");
}
@Override
public void engineSetCertificateEntry(String alias, Certificate cert) throws KeyStoreException {
throw new KeyStoreException("Not supported");
}
@Override
public void engineDeleteEntry(String alias) throws KeyStoreException {
throw new KeyStoreException("Not supported");
}
@Override
public Enumeration<String> engineAliases() {
return Collections.enumeration(Collections.singleton(SslContext.ALIAS));
}
@Override
public boolean engineContainsAlias(String alias) {
return SslContext.ALIAS.equals(alias);
}
@Override
public int engineSize() {
return 1;
}
@Override
public boolean engineIsKeyEntry(String alias) {
Source
Frequently Asked Questions
What is the OpenSslKeyStore class?
OpenSslKeyStore is a class in the netty codebase, defined in handler/src/main/java/io/netty/handler/ssl/OpenSslX509KeyManagerFactory.java.
Where is OpenSslKeyStore defined?
OpenSslKeyStore is defined in handler/src/main/java/io/netty/handler/ssl/OpenSslX509KeyManagerFactory.java at line 299.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free