Interface EncryptionMaterialsProvider
-
- All Known Implementing Classes:
AsymmetricStaticProvider
,CachingMostRecentProvider
,DirectKmsMaterialProvider
,KeyStoreMaterialsProvider
,SymmetricStaticProvider
,WrappedMaterialsProvider
public interface EncryptionMaterialsProvider
Interface for providing encryption materials. Implementations are free to use any strategy for providing encryption materials, such as simply providing static material that doesn't change, or more complicated implementations, such as integrating with existing key management systems.- Author:
- Greg Rubin
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description DecryptionMaterials
getDecryptionMaterials(EncryptionContext context)
Retrieves encryption materials matching the specified description from some source.EncryptionMaterials
getEncryptionMaterials(EncryptionContext context)
Returns EncryptionMaterials which the caller can use for encryption.void
refresh()
Forces this encryption materials provider to refresh its encryption material.
-
-
-
Method Detail
-
getDecryptionMaterials
DecryptionMaterials getDecryptionMaterials(EncryptionContext context)
Retrieves encryption materials matching the specified description from some source.- Parameters:
context
- Information to assist in selecting a the proper return value. The implementation is free to determine the minimum necessary for successful processing.- Returns:
- The encryption materials that match the description, or null if no matching encryption materials found.
-
getEncryptionMaterials
EncryptionMaterials getEncryptionMaterials(EncryptionContext context)
Returns EncryptionMaterials which the caller can use for encryption. Each implementation of EncryptionMaterialsProvider can choose its own strategy for loading encryption material. For example, an implementation might load encryption material from an existing key management system, or load new encryption material when keys are rotated.- Parameters:
context
- Information to assist in selecting a the proper return value. The implementation is free to determine the minimum necessary for successful processing.- Returns:
- EncryptionMaterials which the caller can use to encrypt or decrypt data.
-
refresh
void refresh()
Forces this encryption materials provider to refresh its encryption material. For many implementations of encryption materials provider, this may simply be a no-op, such as any encryption materials provider implementation that vends static/non-changing encryption material. For other implementations that vend different encryption material throughout their lifetime, this method should force the encryption materials provider to refresh its encryption material.
-
-