Ejemplo n.º 1
0
        public EncryptedMessageDeserializer(JsonSerializer deserializer, ICryptoStreamProvider provider)
        {
            _deserializer = deserializer;
            _provider     = provider;

            _objectTypeDeserializer = new ObjectTypeDeserializer(_deserializer);
        }
        public EncryptedMessageDeserializer(JsonSerializer deserializer, ICryptoStreamProvider provider)
        {
            _deserializer = deserializer;
            _provider = provider;

            _objectTypeDeserializer = new ObjectTypeDeserializer(_deserializer);
        }
 public EncryptedMessageDeserializer(JsonSerializer deserializer, ISendEndpointProvider sendEndpointProvider,
     IPublishEndpointProvider publishEndpoint, ICryptoStreamProvider provider)
 {
     _deserializer = deserializer;
     _sendEndpointProvider = sendEndpointProvider;
     _publishEndpoint = publishEndpoint;
     _provider = provider;
 }
 public EncryptedMessageDeserializer(JsonSerializer deserializer, ISendEndpointProvider sendEndpointProvider,
                                     IPublishEndpointProvider publishEndpoint, ICryptoStreamProvider provider)
 {
     _deserializer         = deserializer;
     _sendEndpointProvider = sendEndpointProvider;
     _publishEndpoint      = publishEndpoint;
     _provider             = provider;
 }
        /// <summary>
        /// Returns a stream for decrypting the message
        /// </summary>
        /// <param name="provider">The crypto stream provider</param>
        /// <param name="stream">The original stream to which the encrypted message content is written</param>
        /// <param name="context">The second context of the message</param>
        /// <returns>A stream for serializing the message which will be encrypted</returns>
        public static Stream GetDecryptStream(this ICryptoStreamProvider provider, Stream stream, TransformContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            var keyId = context.Headers.TryGetHeader(EncryptedMessageSerializer.EncryptionKeyHeader, out var keyIdObj)
                ? keyIdObj.ToString()
                : default;

            return(provider.GetDecryptStream(stream, keyId, CryptoStreamMode.Read));
        }
        /// <summary>
        /// Returns a stream with the encryption bits in place to ensure proper message encryption
        /// </summary>
        /// <param name="provider">The crypto stream provider</param>
        /// <param name="stream">The original stream to which the encrypted message content is written</param>
        /// <param name="context">The second context of the message</param>
        /// <returns>A stream for serializing the message which will be encrypted</returns>
        public static Stream GetEncryptStream(this ICryptoStreamProvider provider, Stream stream, SendContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            object keyIdObj;
            string keyId = context.Headers.TryGetHeader(EncryptedMessageSerializer.EncryptionKeyHeader, out keyIdObj)
                ? keyIdObj.ToString()
                : default(string);

            return(provider.GetEncryptStream(stream, keyId, CryptoStreamMode.Write));
        }
 public static void UseEncryptedSerializer(this IReceiveEndpointConfigurator configurator, ICryptoStreamProvider streamProvider)
 {
     configurator.AddEndpointSpecification(new EncryptedMessageSerializerReceiveEndpointSpecification(streamProvider));
 }
 public static void UseEncryptedSerializer(this IBusFactoryConfigurator configurator, ICryptoStreamProvider streamProvider)
 {
     configurator.AddBusFactorySpecification(new EncryptedMessageSerializerBusFactorySpecification(streamProvider));
 }
 public EncryptedMessageDeserializer(JsonSerializer deserializer, ICryptoStreamProvider provider)
 {
     _deserializer = deserializer;
     _provider     = provider;
 }
 public EncryptedMessageSerializerBusFactorySpecification(ICryptoStreamProvider streamProvider)
 {
     _streamProvider = streamProvider;
 }
 public static void UseEncryptedSerializer(this IBusFactoryConfigurator configurator, ICryptoStreamProvider streamProvider)
 {
     configurator.AddBusFactorySpecification(new EncryptedMessageSerializerBusFactorySpecification(streamProvider));
 }
        public static void UseEncryptedSerializer(this IReceiveEndpointConfigurator configurator, ICryptoStreamProvider streamProvider)
        {
            configurator.SetMessageSerializer(() => new EncryptedMessageSerializer(streamProvider));

            configurator.AddMessageDeserializer(EncryptedMessageSerializer.EncryptedContentType,
                                                () => new EncryptedMessageDeserializer(BsonMessageSerializer.Deserializer, streamProvider));
        }
Ejemplo n.º 13
0
        public static IMessageDataRepository Encrypted(this IMessageDataRepositorySelector selector, ICryptoStreamProvider streamProvider,
                                                       Func <IMessageDataRepositorySelector, IMessageDataRepository> innerSelector)
        {
            if (selector is null)
            {
                throw new ArgumentNullException(nameof(selector));
            }
            if (streamProvider is null)
            {
                throw new ArgumentNullException(nameof(streamProvider));
            }
            if (innerSelector == null)
            {
                throw new ArgumentNullException(nameof(innerSelector));
            }

            var innerRepository = innerSelector(selector);

            if (innerRepository is EncryptedMessageDataRepository)
            {
                throw new ArgumentException("Nesting encrypted repositories is not supported", nameof(innerSelector));
            }

            if (innerRepository is IBusObserver observer)
            {
                selector.Configurator.ConnectBusObserver(observer);
            }

            return(new EncryptedMessageDataRepository(innerRepository, streamProvider));
        }
Ejemplo n.º 14
0
        IMessageSerializer CreateSerializer()
        {
            ICryptoStreamProvider streamProvider = GetStreamProvider();

            return(new EncryptedMessageSerializer(streamProvider));
        }
 /// <summary>
 /// Provides encrypted stream support to ensure that message data is encrypted at rest.
 /// </summary>
 /// <param name="repository">The original message data repository where message data is stored.</param>
 /// <param name="streamProvider">The encrypted stream provider</param>
 public EncryptedMessageDataRepository(IMessageDataRepository repository, ICryptoStreamProvider streamProvider)
 {
     _repository = repository;
     _streamProvider = streamProvider;
 }
 /// <summary>
 /// Provides encrypted stream support to ensure that message data is encrypted at rest.
 /// </summary>
 /// <param name="repository">The original message data repository where message data is stored.</param>
 /// <param name="streamProvider">The encrypted stream provider</param>
 public EncryptedMessageDataRepository(IMessageDataRepository repository, ICryptoStreamProvider streamProvider)
 {
     _repository     = repository;
     _streamProvider = streamProvider;
 }
 public EncryptedMessageSerializerReceiveEndpointSpecification(ICryptoStreamProvider streamProvider)
 {
     _streamProvider = streamProvider;
 }
Ejemplo n.º 18
0
 public EncryptedMessageSerializerBusFactorySpecification(ICryptoStreamProvider streamProvider)
 {
     _streamProvider = streamProvider;
 }
Ejemplo n.º 19
0
 public EncryptedMessageSerializer(ICryptoStreamProvider streamProvider)
 {
     _streamProvider = streamProvider;
     _serializer     = BsonMessageSerializer.Serializer;
 }
 public static void UseEncryptedSerializer(this IReceiveEndpointConfigurator configurator, ICryptoStreamProvider streamProvider)
 {
     configurator.AddEndpointSpecification(new EncryptedMessageSerializerReceiveEndpointSpecification(streamProvider));
 }
        public static void UseEncryptedSerializer(this IEventHubFactoryConfigurator configurator, ICryptoStreamProvider streamProvider)
        {
            configurator.SetMessageSerializer(() => new EncryptedMessageSerializer(streamProvider));

            // configurator.AddMessageDeserializer(EncryptedMessageSerializer.EncryptedContentType,
            //     () => new EncryptedMessageDeserializer(BsonMessageSerializer.Deserializer, streamProvider));
        }
 public EncryptedMessageSerializerReceiveEndpointSpecification(ICryptoStreamProvider streamProvider)
 {
     _streamProvider = streamProvider;
 }