Ejemplo n.º 1
0
        /// <summary>
        ///     Finds the resource in calling assembly that contains the given string 'name'.
        /// </summary>
        public static byte[] GetEncryptedResource(string name, string rijpass)
        {
            var asm    = Assembly.GetCallingAssembly();
            var target = asm.GetManifestResourceNames().FirstOrDefault(mrn => mrn.Contains(name));

            if (target == null)
            {
                throw new FileNotFoundException($"Could not find a resource that contains the name '{name}'");
            }
            var res = asm.GetManifestResourceStream(target);
            var rij = new RijndaelEnhanced(rijpass);

            return(rij.DecryptToBytes(res.ReadAll()));
        }
        /// <summary>
        /// Decrypt the SOAP Stream BeforeSerialize.
        /// </summary>
        /// <param name="message"></param>
        private void Decrypt(SoapMessage message)
        {
            if (encryptMessage)
            {
                CopyBinaryStream(oldStream, newStream);
                MemoryStream ms = new MemoryStream();
                newStream.Position = 0;
                CopyBinaryStream(newStream, ms);
                ms.Position = 0;
                byte[]           encryptedBytes = ms.ToArray();
                RijndaelEnhanced rj             = new RijndaelEnhanced(sPassPhrase, sInitVector);

                if (compressMessage)
                {
                    byte[] compressedBytes = rj.DecryptToBytes(encryptedBytes);
                    newStream.Position = 0;
                    BinaryWriter binaryWriter = new BinaryWriter(newStream);
                    binaryWriter.Write(compressedBytes);
                    binaryWriter.Flush();
                }
                else
                {
                    string soapMessage = rj.Decrypt(encryptedBytes);;
                    newStream.Position = 0;
                    StreamWriter streamWriter = new StreamWriter(newStream);

                    // Clear all newStream contents with WhiteSpace before overwrite
                    for (int i = 0; i < newStream.Length; i++)
                    {
                        streamWriter.Write(" ");
                        streamWriter.Flush();
                    }

                    newStream.Position = 0;
                    streamWriter.Write(soapMessage);
                    streamWriter.Flush();
                }

                newStream.Position = 0;
            }
        }
Ejemplo n.º 3
0
 public byte[] DecryptToBytes(byte[] data, string key) {
     var rij = new RijndaelEnhanced(key);
     return rij.DecryptToBytes(data);
 }
Ejemplo n.º 4
0
        public byte[] DecryptToBytes(byte[] data, string key)
        {
            var rij = new RijndaelEnhanced(key);

            return(rij.DecryptToBytes(data));
        }