Class Ed25519PasswordPlugin

java.lang.Object
org.mariadb.jdbc.plugin.authentication.standard.Ed25519PasswordPlugin
All Implemented Interfaces:
AuthenticationPlugin

public class Ed25519PasswordPlugin extends Object implements AuthenticationPlugin
ED25519 password plugin
  • Field Details

    • authenticationData

      private final String authenticationData
    • seed

      private final byte[] seed
  • Constructor Details

    • Ed25519PasswordPlugin

      public Ed25519PasswordPlugin(String authenticationData, byte[] seed)
  • Method Details

    • ed25519SignWithPassword

      private static byte[] ed25519SignWithPassword(String password, byte[] seed)
      Sign the server seed with the password. This is an RFC 8032 signature where the raw password takes the place of the 32-byte secret seed.
      Parameters:
      password - password
      seed - server seed
      Returns:
      64-byte signature
    • process

      public ReadableByteBuf process(Writer out, Reader in, Context context, boolean sslFingerPrintValidation) throws SQLException, IOException
      Process Ed25519 password plugin authentication. see authentication-plugin-ed25519
      Specified by:
      process in interface AuthenticationPlugin
      Parameters:
      out - out stream
      in - in stream
      context - connection context
      sslFingerPrintValidation - true if SSL certificate fingerprint validation is enabled
      Returns:
      response packet
      Throws:
      IOException - if socket error
      SQLException - if plugin exception
    • isMitMProof

      public boolean isMitMProof()
      Description copied from interface: AuthenticationPlugin
      Can plugins are MitM-proof, permitting returning HASH
      Specified by:
      isMitMProof in interface AuthenticationPlugin
      Returns:
      true if permitted
    • hash

      public byte[] hash(Credential credential)
      Return Hash
      Specified by:
      hash in interface AuthenticationPlugin
      Parameters:
      credential - Credential
      Returns:
      hash