Key Caching
The key caching feature allows you to export symmetric and asymmetric keys from Key Manager and store them on the client for a limited time, in order to perform cryptographic operations locally. improves performance, specifically if network latency is high, encryption sizes are small, and local CPU cycles are available. Once keys are cached, client crypto operations can continue without access to the server.
CADP for Java supports:
Eligible Keys
Symmetric and asymmetric keys that have been marked Exportable may be cached. In addition, the NAE User must have export privileges for the key. If the key is non exportable and the local mode is enabled then to perform the crypto operation remotely, enable the key_non_exportable_policy
parameter.
API Support
Following are few APIs that uses key cache feature:
Cipher.init()
Cipher.update()
Cipher.doFinal()
NAEKey.getAlgorithm()
Logging
The server will log all key downloads in the NAE log. The client log will indicate when the key caching has been enabled. When Log_Level
is set to HIGH, the log will record the following key caching-related actions:
Enabling key storage.
Key export from the Key Manager
Cryptographic operations that use cached keys
Deletion of a key from the client cache
Refresh cached key
The refresh cache key feature allows you to refresh cached key in the symmetric cache and persistent cache (if enabled). The cached key is refreshed asynchronously, that is, in a separate thread without impacting the ongoing operations that are using cached key for crypto operations. To refresh cached key refer to Refresh Cached Keys.