public void Does_Not_Throw_Any_Exception_When_Validating_Invalid_Assertions() { // Arrange Assertion firstValidAssertion = CreateValidAssertion(); Assertion secondValidAssertion = CreateValidAssertion(); var group = new AssertionGroup(); group.Add(firstValidAssertion); group.Add(secondValidAssertion); var validator = new AssertionValidator(group); // Act/Assert Assert.DoesNotThrow(() => validator.Validate()); }
public void Throws_An_Exception_When_Validating_Invalid_Assertions() { // Arrange Assertion validAssertion = CreateValidAssertion(); Assertion invalidAssertion = CreateInvalidAssertion(); var group = new AssertionGroup(); group.Add(validAssertion); group.Add(invalidAssertion); var validator = new AssertionValidator(group); // Act/Assert Assert.Throws<AssertionInvalidException>(() => validator.Validate()); }
/// <summary> /// Loads an assertion from XML. /// </summary> /// <param name="element">The element.</param> /// <param name="trustedSigners">The trusted signers.</param> private void LoadXml(XmlElement element, IEnumerable <AsymmetricAlgorithm> trustedSigners) { _samlAssertion = element; if (trustedSigners != null) { if (!CheckSignature(trustedSigners)) { throw new Saml20Exception("Assertion signature could not be verified."); } } // Validate the saml20Assertion. if (_autoValidate) { AssertionValidator.ValidateAssertion(Assertion); } }
/// <summary> /// Validates the assertion /// </summary> /// <param name="currentUtcTime"></param> public void Validate(DateTime currentUtcTime) { // Validate the saml20Assertion. AssertionValidator.ValidateAssertion(Assertion); AssertionValidator.ValidateTimeRestrictions(Assertion, TimeSpan.FromMinutes(_allowedClockSkewMinutes), currentUtcTime); }