Interface DecryptionService

All Known Implementing Classes:
AbstractDecryptionService, LoopbackDecryptionService, PublicKeyDecryptionService

public interface DecryptionService
A DecryptionService is bound to a single namespace and provides cipher versions required for decrypting text by the DecryptionProvider.

The DecryptionService may make use of a DecryptionServer managing the CipherVersion instances per namespace.

Depending on the implementation, the DecryptionService has a private key for an asymmetric encryption approach whose public counterpart is used by the EncryptionService. This private key then is used to decrypt the ciphers form the retrieved CipherVersion instances.

A DecryptionServer's wrapper may be hooked on top of the DecryptionServer containing public keys known as being trusted and the private key for decrypting ciphers being encrypted by the EncryptionService. When cipher versions are being requested by a DecryptionService from the wrapped DecryptionServer, the DecryptionService authorizes itself by signing a message with a signature passed to the DecryptionServer. In case the message's signature is verified by the DecryptionServer with one of its trusted public keys, then the public key in question is used by the DecryptionServer for encrypting the CipherVersion instances being transmitted to the DecryptionService.

  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the currently available cipher versions.
  • Method Details

    • getCipherVersions

      List<CipherVersion> getCipherVersions()
      Returns the currently available cipher versions.
      Returns:
      A list with the currently known cipher versions.