Package org.mariadb.jdbc.client.tls
Class MariaDbX509KeyManager
- java.lang.Object
-
- javax.net.ssl.X509ExtendedKeyManager
-
- org.mariadb.jdbc.client.tls.MariaDbX509KeyManager
-
- All Implemented Interfaces:
javax.net.ssl.KeyManager,javax.net.ssl.X509KeyManager
public class MariaDbX509KeyManager extends javax.net.ssl.X509ExtendedKeyManagerKey manager implementation that implement only client verification and rely only on private key for mutual authentication, without Server Name Indication (SNI) verification.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Hashtable<java.lang.String,java.security.KeyStore.PrivateKeyEntry>privateKeyHash
-
Constructor Summary
Constructors Constructor Description MariaDbX509KeyManager(java.security.KeyStore keyStore, char[] pwd)Creates Key manager.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringchooseClientAlias(java.lang.String[] keyType, java.security.Principal[] issuers, java.net.Socket socket)java.lang.StringchooseEngineClientAlias(java.lang.String[] keyType, java.security.Principal[] issuers, javax.net.ssl.SSLEngine engine)java.lang.StringchooseEngineServerAlias(java.lang.String keyType, java.security.Principal[] issuers, javax.net.ssl.SSLEngine engine)java.lang.StringchooseServerAlias(java.lang.String keyType, java.security.Principal[] issuers, java.net.Socket socket)java.security.cert.X509Certificate[]getCertificateChain(java.lang.String alias)java.lang.String[]getClientAliases(java.lang.String keyType, java.security.Principal[] issuers)java.security.PrivateKeygetPrivateKey(java.lang.String alias)java.lang.String[]getServerAliases(java.lang.String keyType, java.security.Principal[] issuers)private java.util.ArrayList<java.lang.String>searchAccurateAliases(java.lang.String[] keyTypes, java.security.Principal[] issuers)Search aliases corresponding to algorithms and issuers.
-
-
-
Constructor Detail
-
MariaDbX509KeyManager
public MariaDbX509KeyManager(java.security.KeyStore keyStore, char[] pwd) throws java.security.KeyStoreExceptionCreates Key manager.- Parameters:
keyStore- keyStore (must have been initialized)pwd- keyStore password- Throws:
java.security.KeyStoreException- if keyStore hasn't been initialized.
-
-
Method Detail
-
getClientAliases
public java.lang.String[] getClientAliases(java.lang.String keyType, java.security.Principal[] issuers)
-
chooseClientAlias
public java.lang.String chooseClientAlias(java.lang.String[] keyType, java.security.Principal[] issuers, java.net.Socket socket)
-
getCertificateChain
public java.security.cert.X509Certificate[] getCertificateChain(java.lang.String alias)
-
chooseEngineClientAlias
public java.lang.String chooseEngineClientAlias(java.lang.String[] keyType, java.security.Principal[] issuers, javax.net.ssl.SSLEngine engine)- Overrides:
chooseEngineClientAliasin classjavax.net.ssl.X509ExtendedKeyManager
-
getPrivateKey
public java.security.PrivateKey getPrivateKey(java.lang.String alias)
-
searchAccurateAliases
private java.util.ArrayList<java.lang.String> searchAccurateAliases(java.lang.String[] keyTypes, java.security.Principal[] issuers)Search aliases corresponding to algorithms and issuers.- Parameters:
keyTypes- list of algorithmsissuers- list of issuers;- Returns:
- list of corresponding aliases
-
getServerAliases
public java.lang.String[] getServerAliases(java.lang.String keyType, java.security.Principal[] issuers)
-
chooseServerAlias
public java.lang.String chooseServerAlias(java.lang.String keyType, java.security.Principal[] issuers, java.net.Socket socket)
-
chooseEngineServerAlias
public java.lang.String chooseEngineServerAlias(java.lang.String keyType, java.security.Principal[] issuers, javax.net.ssl.SSLEngine engine)- Overrides:
chooseEngineServerAliasin classjavax.net.ssl.X509ExtendedKeyManager
-
-