0.3.0
- 0.3.0
- 0.2.0
- 0.1.0-preview
- Initial record
| Language | Confirmed Compatible with Spec Version | Minimum Version Confirmed | Implementation |
|---|---|---|---|
| C | 0.1.0-preview | 0.1.0 | cache.h |
| Javascript | 0.1.0-preview | 0.1.0 | cryptographic_materials_cache.ts |
| Python | 0.1.0-preview | 1.3.0 | caches/base.py |
| Java | 0.1.0-preview | 1.3.0 | CryptoMaterialsCache.java |
Cryptographic materials cache (CMC) is used by the caching cryptographic materials manager (CMM) to store cryptographic materials for reuse. This document describes the interface that all CMCs MUST implement.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.
The cache identifier used to uniquely identify a single cache entry in the cryptographic materials cache.
A cache entry represents an entry in the cryptographic materials cache. A cache entry contains the cryptographic materials, encryption or decryption materials to be cached along with other metadata. Some implementations of the CMC have the following metadata:
Timestamp when the cache entry was created.
Timestamp when the cache entry expires.
The usage metadata is of the following two types:
The number of messages encrypted by the encryption materials cached in this cache entry.
The number of bytes encrypted by the encryption materials cached in this cache entry.
The AWS Encryption SDK provides a built-in local cryptographic materials cache (local CMC). The local CMC is a configurable, in-memory, least recently used (LRU) cache. It provides non-blocking, locking, cache entries per cache identifier.
The Cryptographic Materials Cache provides behaviours for putting cache entries, getting cache entries and deleting cache entries.
Attempts to put a cache entry for the specified cache ID. If a cache entry for the given cache ID does not exists in the cache, the CMC creates a new cache entry. This operation MUST NOT return the inserted cache entry.
Attempts to get a cache entry for the specified cache ID. The CMC MUST validate that the cache entry is valid prior to returning the cache entry. A successful call to Get Entry returns the cache entry and an unsuccessful call returns a cache miss.
Attempts to delete a cache entry from the CMC.