Class DbCryptData


  • public final class DbCryptData
    extends java.lang.Object
    Data of a database encryption key callback (or reply).
    Since:
    3.0.4
    Author:
    Mark Rotteveel
    • Constructor Summary

      Constructors 
      Constructor Description
      DbCryptData​(byte[] pluginData, int replySize)
      Initializes DbCryptData instance.
    • Field Detail

      • EMPTY_DATA

        public static final DbCryptData EMPTY_DATA
    • Constructor Detail

      • DbCryptData

        public DbCryptData​(byte[] pluginData,
                           int replySize)
        Initializes DbCryptData instance.
        Parameters:
        pluginData - Data for/from plugin (can be null)
        replySize - Expected reply size (normally use 0 for a reply)
        Throws:
        java.lang.IllegalArgumentException - when plugin data exceeds maximum length of 32767 bytes
    • Method Detail

      • getPluginData

        public byte[] getPluginData()
        Returns:
        Plugin data (can be null)
      • getReplySize

        public int getReplySize()
        Returns the expected reply size.

        For a protocol version 13 callback, the value will be Integer.MIN_VALUE as the protocol does not include this information.

        In the case of a callback, this value is as received from Firebird. Judging by the code in Firebird for protocol v14 and higher, this value may be negative, and should then be considered equivalent to 1.

        Plugins can use the value as a hint to the expected size of their reply. However smaller (or larger) replies will work.

        Returns:
        Expected reply size
      • createReply

        public static DbCryptData createReply​(byte[] pluginData)
        Creates a reply with plugin data and expected reply size of 0.
        Parameters:
        pluginData - Plugin response data
        Returns:
        Crypt data