示例#1
0
 public static void UseAwsKeyManagementServiceSerializer(this IReceiveEndpointConfigurator configurator,
                                                         IEncryptionContextBuilder encryptionContextBuilder,
                                                         string kmsKeyId)
 {
     configurator.UseAwsKeyManagementServiceSerializer(new AmazonKeyManagementServiceClient(),
                                                       encryptionContextBuilder, kmsKeyId);
 }
示例#2
0
 public KmsSecureKeyProvider(
     IKeyManagementService keyManagementService,
     IEncryptionContextBuilder encryptionContextBuilder,
     string kmsKeyId)
 {
     _keyManagementService     = keyManagementService;
     _encryptionContextBuilder = encryptionContextBuilder;
     _kmsKeyId = kmsKeyId;
 }
示例#3
0
        public static void UseAwsKeyManagementServiceSerializer(this IBusFactoryConfigurator configurator,
                                                                IAmazonKeyManagementService amazonKeyManagementService,
                                                                IEncryptionContextBuilder encryptionContextBuilder,
                                                                string kmsKeyId)
        {
            var amazonKeyManagementServiceWrapper =
                new AmazonKeyManagementServiceWrapper(amazonKeyManagementService);

            configurator.UseAwsKeyManagementServiceSerializer(amazonKeyManagementServiceWrapper,
                                                              encryptionContextBuilder, kmsKeyId);
        }
        public static void UseAwsKeyManagementServiceSerializerWithCache(this IReceiveEndpointConfigurator configurator,
                                                                         IKeyManagementService amazonKeyManagementService,
                                                                         IEncryptionContextBuilder encryptionContextBuilder,
                                                                         string kmsKeyId, IDataKeyCache dataKeyCache, IDecryptKeyCache decryptKeyCache)
        {
            var keyManagementServiceCache =
                new KeyManagementServiceCache(amazonKeyManagementService, dataKeyCache, decryptKeyCache);

            configurator.UseAwsKeyManagementServiceSerializer(keyManagementServiceCache, encryptionContextBuilder,
                                                              kmsKeyId);
        }
        public static void UseAwsKeyManagementServiceSerializerWithCache(this IReceiveEndpointConfigurator configurator,
                                                                         IKeyManagementService amazonKeyManagementService,
                                                                         IEncryptionContextBuilder encryptionContextBuilder,
                                                                         string kmsKeyId,
                                                                         IDistributedCache distributedCache,
                                                                         ICacheKeyGenerator cacheKeyGenerator,
                                                                         ICacheValueConverter cacheValueConverter)
        {
            var keyManagementServiceCache =
                new KeyManagementServiceCache(amazonKeyManagementService, distributedCache, cacheKeyGenerator,
                                              cacheValueConverter);

            configurator.UseAwsKeyManagementServiceSerializer(keyManagementServiceCache, encryptionContextBuilder,
                                                              kmsKeyId);
        }
示例#6
0
        public static void UseAwsKeyManagementServiceSerializer(this IBusFactoryConfigurator configurator,
                                                                IKeyManagementService keyManagementService,
                                                                IEncryptionContextBuilder encryptionContextBuilder,
                                                                string kmsKeyId)
        {
            var kmsSecureKeyProvider =
                new KmsSecureKeyProvider(keyManagementService, encryptionContextBuilder, kmsKeyId);

            var aesCryptoStreamProvider = new AesCryptoStreamProviderV2(kmsSecureKeyProvider);

            configurator.SetMessageSerializer(() => new EncryptedMessageSerializerV2(aesCryptoStreamProvider));

            configurator.AddMessageDeserializer(EncryptedMessageSerializer.EncryptedContentType,
                                                () => new EncryptedMessageDeserializerV2(BsonMessageSerializer.Deserializer, aesCryptoStreamProvider));
        }
        public static void UseAwsKeyManagementServiceSerializerWithCache(this IReceiveEndpointConfigurator configurator,
                                                                         IKeyManagementService amazonKeyManagementService,
                                                                         IEncryptionContextBuilder encryptionContextBuilder,
                                                                         string kmsKeyId,
                                                                         IDistributedCache distributedCache,
                                                                         ICacheKeyGenerator cacheKeyGenerator,
                                                                         ICacheValueConverter cacheValueConverter,
                                                                         IDistributedCacheEntryOptionsFactory distributedCacheEntryOptionsFactory)
        {
            var dataKeyCache    = new DataKeyCache(cacheKeyGenerator, distributedCache, cacheValueConverter, distributedCacheEntryOptionsFactory);
            var decryptKeyCache = new DecryptKeyCache(cacheKeyGenerator, distributedCache, distributedCacheEntryOptionsFactory);

            configurator.UseAwsKeyManagementServiceSerializerWithCache(amazonKeyManagementService, encryptionContextBuilder,
                                                                       kmsKeyId, dataKeyCache, decryptKeyCache);
        }