public void AddAttribute() { // Arrange var assertion = new Saml20Assertion(AssertionUtil.LoadXmlDocument(Path.Combine("Assertions", "Saml2Assertion_01")).DocumentElement, null, false, TestConfiguration.Configuration); var attributes = assertion.Attributes; // This needs to be addressed and is why the test is ignored. See the original Hg project attributes.Add(new SamlAttribute()); var cert = _context.Sts_Dev_cetificate; assertion.Sign(cert, null); assertion.CheckValid(new[] { cert.PublicKey.Key }); // Verify that the modified assertion can survive complete serialization and deserialization. var assertionString = assertion.GetXml().OuterXml; var deserializedAssertionDoc = new XmlDocument { PreserveWhitespace = true }; deserializedAssertionDoc.Load(new StringReader(assertionString)); var deserializedAssertion = new Saml20Assertion(deserializedAssertionDoc.DocumentElement, null, false, TestConfiguration.Configuration); Assert.NotNull(deserializedAssertion.GetSignatureKeys()); // "Signing keys must be present"); deserializedAssertion.CheckValid(new[] { cert.PublicKey.Key }); }
public void HasNoAssertionBeforeDecrypt() { // Arrange var doc = AssertionUtil.LoadXmlDocument(Path.Combine("Assertions", "EncryptedAssertion_01")); // Act var encryptedAssertion = new Saml20EncryptedAssertion((RSA)_context.Sts_Dev_cetificate.PrivateKey, doc); // Assert Assert.Null(encryptedAssertion.Assertion); }
public void CanDecryptAssertionWithPeerIncludedKeysWithoutSpecifiedEncryptionMethod() { // Arrange var doc = AssertionUtil.LoadXmlDocument(Path.Combine("Assertions", "EncryptedAssertion_03")); var encryptedAssertion = new Saml20EncryptedAssertion((RSA)_context.Sts_Dev_cetificate.PrivateKey, doc); // Act encryptedAssertion.Decrypt(); // Assert Assert.NotNull(encryptedAssertion.Assertion); }
public void CanDecryptAssertionWithPeerIncludedAesKeys() { // Arrange var doc = AssertionUtil.LoadXmlDocument(Path.Combine("Assertions", "EncryptedAssertion_05")); var encryptedAssertion = new Saml20EncryptedAssertion((RSA)_context.Sts_Dev_cetificate.PrivateKey, doc); // Act encryptedAssertion.Decrypt(); // Assert Assert.NotNull(encryptedAssertion.Assertion); Assert.Equal(1, encryptedAssertion.Assertion.GetElementsByTagName(Assertion.ElementName, Saml20Constants.Assertion).Count); }
public void CanDecryptAssertion() { // Arrange var doc = AssertionUtil.LoadXmlDocument(Path.Combine("Assertions", "EncryptedAssertion_01")); var encryptedAssertion = new Saml20EncryptedAssertion((RSA)_context.Sts_Dev_cetificate.PrivateKey, doc); // Act encryptedAssertion.Decrypt(); var assertion = new Saml20Assertion(encryptedAssertion.Assertion.DocumentElement, null, false, TestConfiguration.Configuration); // Assert Assert.NotNull(encryptedAssertion.Assertion); }
public void CanReadAttributes() { // Act var assertion = new Saml20Assertion(AssertionUtil.LoadXmlDocument(Path.Combine("Assertions", "Saml2Assertion_01")).DocumentElement, null, false, TestConfiguration.Configuration); // Assert Assert.True(assertion.Attributes.Any()); Assert.Equal(4, assertion.Attributes.Count); foreach (var sa in assertion.Attributes) { Assert.True(sa.AttributeValue.Length != 0, "Attribute should have a value"); } }