Class ChaChaEncryptionPluginSpi

java.lang.Object
org.firebirdsql.gds.ng.wire.crypt.chacha.ChaChaEncryptionPluginSpi
All Implemented Interfaces:
EncryptionPluginSpi

public final class ChaChaEncryptionPluginSpi extends Object implements EncryptionPluginSpi
ChaCha (ChaCha-20) encryption plugin provider.
Since:
5
Author:
Mark Rotteveel
  • Constructor Details

    • ChaChaEncryptionPluginSpi

      public ChaChaEncryptionPluginSpi()
  • Method Details

    • encryptionIdentifier

      public EncryptionIdentifier encryptionIdentifier()
      Specified by:
      encryptionIdentifier in interface EncryptionPluginSpi
      Returns:
      Encryption identifier
    • createEncryptionPlugin

      public EncryptionPlugin createEncryptionPlugin(CryptSessionConfig cryptSessionConfig)
      Description copied from interface: EncryptionPluginSpi
      Creates the encryption plugin for the provided crypt session config.
      Specified by:
      createEncryptionPlugin in interface EncryptionPluginSpi
      Parameters:
      cryptSessionConfig - Crypt session config
      Returns:
      Encryption plugin
    • isSupported

      public boolean isSupported(CryptConnectionInfo cryptConnectionInfo)
      Description copied from interface: EncryptionPluginSpi
      Reports if the encryption plugin can work.

      The connectionInfo can be used to check compatibility with the connection, but other checks may be done as well. If the plugin expects to always work, it can simply return true.

      NOTE: Returning true does not express a guarantee the plugin will work, instead false expresses that the plugin cannot (or should not) be tried to use, because it will fail anyway.

      Specified by:
      isSupported in interface EncryptionPluginSpi
      Parameters:
      cryptConnectionInfo - information on the connection
      Returns:
      true if the SPI expects the plugin to work, false if the plugin will not work