示例#1
0
            public void ThenLoadEncryptedKeySucceeds()
            {
                // Arrange
                var xmlDocument = new XmlDocument();

                xmlDocument.LoadXml(Properties.Resources.as4_encrypted_envelope);

                // Act
                AS4EncryptedKey as4EncryptedKey = AS4EncryptedKey.LoadFromXmlDocument(xmlDocument);

                // Assert
                Assert.Equal("EK-501d4b2b-5d8459ed-c0c0-45a5-a0c4-4bde7cf06a38", as4EncryptedKey.GetReferenceId());
            }
        /// <summary>
        /// Decrypts the <see cref="AS4Message"/>, replacing the encrypted content with the decrypted content.
        /// </summary>
        public void DecryptMessage()
        {
            IEnumerable <EncryptedData> encryptedDatas =
                new EncryptedDataSerializer(_soapEnvelope).SerializeEncryptedDatas();

            var as4EncryptedKey = AS4EncryptedKey.LoadFromXmlDocument(_soapEnvelope);

            byte[] key = DecryptEncryptedKey(as4EncryptedKey, _certificate);

            foreach (EncryptedData encryptedData in encryptedDatas)
            {
                DecryptEncryptedData(encryptedData, key);
            }
        }
            public void ThenCreateCorrectEncoding()
            {
                // Arrange
                var xmlDocument = new XmlDocument();

                xmlDocument.LoadXml(Properties.Resources.EncryptedKeyWithMGFSpec);
                AS4EncryptedKey as4EncryptedKey = AS4EncryptedKey.LoadFromXmlDocument(xmlDocument);

                // Act
                OaepEncoding encoding = EncodingFactory.Instance.Create(
                    as4EncryptedKey.GetDigestAlgorithm(),
                    as4EncryptedKey.GetMaskGenerationFunction());

                // Assert
                AssertMgf1Hash(encoding, "SHA-256");
            }
示例#4
0
            public void ThenAppendEncryptedKeySucceeds()
            {
                // Arrange
                var xmlDocument = new XmlDocument();

                xmlDocument.LoadXml(Properties.Resources.as4_encrypted_envelope);
                AS4EncryptedKey as4EncryptedKey = AS4EncryptedKey.LoadFromXmlDocument(xmlDocument);

                xmlDocument = new XmlDocument();
                XmlElement securityElement = xmlDocument.CreateElement(
                    "wsse",
                    "Security",
                    Constants.Namespaces.WssSecuritySecExt);

                // Act
                as4EncryptedKey.AppendEncryptedKey(securityElement);

                // Assert
                Assert.Equal("EncryptedKey", securityElement.FirstChild.LocalName);
            }