Interface AsyncEncapsulatedKeyManager


@Preview(name="Property Encryption") public interface AsyncEncapsulatedKeyManager
An asynchronous manager for encapsulated keys.

EnvelopePropertyEncryptionProfile requires data keys to exist before they can be used for encryption. This manager provides asynchronous operations for creating and managing such keys.

When creating a key, the manager uses the configured BaseKeyEncapsulationService to generate and encapsulate a new data key and registers the resulting EncapsulatedKeyRecord with the configured BaseEncapsulatedKeyRecordRepository. Both synchronous and asynchronous implementations of these services are supported.

Since:
6.3.0
See Also:
  • Method Details

    • createAsync

      default CompletionStage<EncapsulatedKey> createAsync()
      Creates a new encapsulated key without an alias.
      Returns:
      a CompletionStage that completes with the encapsulated key
    • createAsync

      default CompletionStage<EncapsulatedKey> createAsync(String alias)
      Creates a new encapsulated key with the provided alias.
      Parameters:
      alias - the key alias, may be null
      Returns:
      a CompletionStage that completes with the encapsulated key
    • createAsync

      CompletionStage<EncapsulatedKey> createAsync(String alias, KeyEncapsulationOptions encapsulationOptions)
      Creates a new encapsulated key with the provided alias and KeyEncapsulationOptions.
      Parameters:
      alias - the key alias, may be null
      encapsulationOptions - the key encapsulation options, may be null
      Returns:
      a CompletionStage that completes with the encapsulated key
    • findByAliasAsync

      CompletionStage<EncapsulatedKey> findByAliasAsync(String alias)
      Finds an encapsulated key by its alias.
      Parameters:
      alias - the key alias, must not be null
      Returns:
      a CompletionStage that completes with the encapsulated key or null when no key with the given alias exists
    • setAliasByIdAsync

      CompletionStage<Void> setAliasByIdAsync(String id, String alias)
      Sets the alias of an encapsulated key by id. The alias must not be used by another key. To assign an alias currently used by another key, it must first be deleted from that key.
      Parameters:
      id - the key id, must not be null
      alias - the new key alias, may be null to remove the alias
      Returns:
      a CompletionStage that completes with null
    • deleteAliasByIdAsync

      default CompletionStage<Void> deleteAliasByIdAsync(String id)
      Deletes the alias from encapsulated key by id.
      Parameters:
      id - the key id, must not be null
      Returns:
      a CompletionStage that completes with null
    • deleteByIdAsync

      CompletionStage<Void> deleteByIdAsync(String id)
      Deletes an encapsulated key by id.
      Parameters:
      id - the key id, must not be null
      Returns:
      a CompletionStage that completes with null