public void Set(DataKeyIdentifier key, GenerateDataKeyResult item) { var cacheKey = _cacheKeyGenerator.Generate(key); var cacheValue = _cacheValueConverter.Convert(item); var options = _distributedCacheEntryOptionsFactory.Create(CacheItemType.DataKey); _distributedCache.Set(cacheKey, cacheValue, options); }
public GenerateDataKeyResult Get(DataKeyIdentifier key) { var cacheKey = _cacheKeyGenerator.Generate(key); var cacheItem = _distributedCache.Get(cacheKey); if (cacheItem is null) { return(null); } return(_cacheValueConverter.Convert(cacheItem)); }
public GenerateDataKeyResult GenerateDataKey(string keyId, Dictionary <string, string> encryptionContext, string keySpec) { var identifier = new DataKeyIdentifier(keyId, encryptionContext); var cacheItem = _dataKeyCache.Get(identifier); if (cacheItem is null) { var item = _keyManagementService.GenerateDataKey(keyId, encryptionContext, keySpec); _dataKeyCache.Set(identifier, item); return(item); } return(cacheItem); }