Exemplo n.º 1
0
        /// <summary>
        /// Encrypts an XML element while writing.
        /// </summary>
        /// <param name="writer">The original <see cref="XmlDictionaryWriter"/>.</param>
        /// <param name="credentials">The <see cref="EncryptingCredentials"/> used to encrypt the XML element.</param>
        /// <param name="startEncryption">A delegate to decide on what element encryption should start.</param>
        public EncryptingXmlDictionaryWriter(XmlDictionaryWriter writer, EncryptingCredentials credentials, StartEncryptionDelegate startEncryption)
        {
            _writer          = writer;
            _credentials     = credentials;
            _startEncryption = startEncryption;

            var settings = _writer.Settings ?? new XmlWriterSettings {
                OmitXmlDeclaration = true, Encoding = new UTF8Encoding(false)
            };

            _elements         = 0;
            _stream           = new MemoryStream();
            _innerWriter      = CreateDictionaryWriter(Create(_stream, settings));
            _encryptedStream  = new MemoryStream();
            _encryptingWriter = CreateDictionaryWriter(Create(_encryptedStream, settings));
            InnerWriter       = _innerWriter;
        }
Exemplo n.º 2
0
 /// <summary>
 /// Encrypts an XML element while writing.
 /// </summary>
 /// <param name="writer">The original <see cref="XmlWriter"/>.</param>
 /// <param name="credentials">The <see cref="EncryptingCredentials"/> used to encrypt the XML element.</param>
 /// <param name="startEncryption">A delegate to decide on what element encryption should start.</param>
 public EncryptingXmlDictionaryWriter(XmlWriter writer, EncryptingCredentials credentials, StartEncryptionDelegate startEncryption)
     : this(CreateDictionaryWriter(writer), credentials, startEncryption)
 {
 }