Module org.firebirdsql.jaybird
Package org.firebirdsql.gds.ng.wire.crypt

# Interface CryptSessionConfig

All Superinterfaces:
  `AutoCloseable`

public interface CryptSessionConfig extends AutoCloseable
Interface for the encryption/decryption session config for wire protocol encryption for a specific plugin.

Since:
  5
Author:
  Mark Rotteveel

## Method Summary

Modifier and Type
Method
Description
`void`
`close()`
Clears (e.g.
`byte[]`
`decryptKey()`
`EncryptionIdentifier`
`encryptionIdentifier()`
`byte[]`
`encryptKey()`
`byte[]`
`specificData()`
`static CryptSessionConfig`
`symmetric(EncryptionIdentifier encryptionIdentifier, byte[] sessionKey, byte[] specificData)`
Creates a crypt session config for a type symmetric plugin.

## Method Details

### encryptionIdentifier

EncryptionIdentifier encryptionIdentifier()

Returns:
  Encryption identifier

### encryptKey

byte[] encryptKey()

Returns:
  Encryption key

### decryptKey

byte[] decryptKey()

Returns:
  Decryption key

### specificData

byte[] specificData()

Returns:
  Plugin-specific data (can be `null`)

### close

void close()
Clears (e.g. zeroes out) the keys and specific data

Specified by:
  `close` in interface `AutoCloseable`

### symmetric

static CryptSessionConfig symmetric(EncryptionIdentifier encryptionIdentifier, byte[] sessionKey, byte[] specificData)
Creates a crypt session config for a type symmetric plugin.

Parameters:
  `encryptionIdentifier` - Encryption identifier of type Symmetric
  `sessionKey` - Session key (non-`null`)
  `specificData` - Plugin specific data (can be `null`)
Returns:
  Crypt session config