Class Sha256PasswordPlugin
- java.lang.Object
-
- org.mariadb.jdbc.internal.com.send.authentication.Sha256PasswordPlugin
-
- All Implemented Interfaces:
AuthenticationPlugin
public class Sha256PasswordPlugin extends Object implements AuthenticationPlugin
-
-
Constructor Summary
Constructors Constructor Description Sha256PasswordPlugin()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static byte[]encrypt(PublicKey publicKey, String password, byte[] seed, String passwordCharacterEncoding)Encode password with seed and public key.static PublicKeygeneratePublicKey(byte[] publicKeyBytes)Read public pem key from String.voidinitialize(String authenticationData, byte[] seed, Options options)Initialization.Stringname()Authentication plugin name.Bufferprocess(PacketOutputStream out, PacketInputStream in, AtomicInteger sequence)Process SHA 256 password plugin authentication. see https://mariadb.com/kb/en/library/authentication-plugin-ed25519/static PublicKeyreadPublicKeyFromFile(String serverRsaPublicKeyFile)Read public Key from file.static PublicKeyreadPublicKeyFromSocket(PacketInputStream reader, AtomicInteger sequence)Read public Key from socket.Stringtype()Authentication plugin type.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.mariadb.jdbc.authentication.AuthenticationPlugin
mustUseSsl
-
-
-
-
Method Detail
-
readPublicKeyFromFile
public static PublicKey readPublicKeyFromFile(String serverRsaPublicKeyFile) throws SQLException
Read public Key from file.- Parameters:
serverRsaPublicKeyFile- RSA public key file- Returns:
- public key
- Throws:
SQLException- if cannot read file or file content is not a public key.
-
readPublicKeyFromSocket
public static PublicKey readPublicKeyFromSocket(PacketInputStream reader, AtomicInteger sequence) throws SQLException, IOException
Read public Key from socket.- Parameters:
reader- input stream readersequence- current exchange sequence- Returns:
- public key
- Throws:
SQLException- if server return an Error packet or public key cannot be parsed.IOException- if error reading socket
-
generatePublicKey
public static PublicKey generatePublicKey(byte[] publicKeyBytes) throws SQLException
Read public pem key from String.- Parameters:
publicKeyBytes- public key bytes value- Returns:
- public key
- Throws:
SQLException- if key cannot be parsed
-
encrypt
public static byte[] encrypt(PublicKey publicKey, String password, byte[] seed, String passwordCharacterEncoding) throws SQLException, UnsupportedEncodingException
Encode password with seed and public key.- Parameters:
publicKey- public keypassword- passwordseed- seedpasswordCharacterEncoding- password encoding- Returns:
- encoded password
- Throws:
SQLException- if cannot encode passwordUnsupportedEncodingException- if password encoding is unknown
-
name
public String name()
Description copied from interface:AuthenticationPluginAuthentication plugin name.- Specified by:
namein interfaceAuthenticationPlugin- Returns:
- authentication plugin name. ex: Mysql native password
-
type
public String type()
Description copied from interface:AuthenticationPluginAuthentication plugin type.- Specified by:
typein interfaceAuthenticationPlugin- Returns:
- authentication plugin type. ex: mysql_native_password
-
initialize
public void initialize(String authenticationData, byte[] seed, Options options)
Initialization.- Specified by:
initializein interfaceAuthenticationPlugin- Parameters:
authenticationData- authentication data (password/token)seed- server provided seedoptions- Connection string options
-
process
public Buffer process(PacketOutputStream out, PacketInputStream in, AtomicInteger sequence) throws IOException, SQLException
Process SHA 256 password plugin authentication. see https://mariadb.com/kb/en/library/authentication-plugin-ed25519/- Specified by:
processin interfaceAuthenticationPlugin- Parameters:
out- out streamin- in streamsequence- packet sequence- Returns:
- response packet
- Throws:
IOException- if socket errorSQLException- if plugin exception
-
-