Class MariaDbX509KeyManager
- java.lang.Object
-
- javax.net.ssl.X509ExtendedKeyManager
-
- org.mariadb.jdbc.internal.protocol.tls.MariaDbX509KeyManager
-
- All Implemented Interfaces:
javax.net.ssl.KeyManager
,javax.net.ssl.X509KeyManager
public class MariaDbX509KeyManager extends javax.net.ssl.X509ExtendedKeyManager
Key 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.String
chooseClientAlias(java.lang.String[] keyType, java.security.Principal[] issuers, java.net.Socket socket)
java.lang.String
chooseEngineClientAlias(java.lang.String[] keyType, java.security.Principal[] issuers, javax.net.ssl.SSLEngine engine)
java.lang.String
chooseEngineServerAlias(java.lang.String keyType, java.security.Principal[] issuers, javax.net.ssl.SSLEngine engine)
java.lang.String
chooseServerAlias(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.PrivateKey
getPrivateKey(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.KeyStoreException
Creates 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:
chooseEngineClientAlias
in 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:
chooseEngineServerAlias
in classjavax.net.ssl.X509ExtendedKeyManager
-
-