public async Task CreatedSignature_FromRequestWithHeaders_CanBeValidated() { var sut = new SignatureCreator(); IEnumerable <KeyValuePair <string, IEnumerable <string> > > headers = new List <KeyValuePair <string, IEnumerable <string> > > { new KeyValuePair <string, IEnumerable <string> >("X-Custom-Header", new List <string> { "blah123blah" }), new KeyValuePair <string, IEnumerable <string> >("X-Custom-Header-Two", new List <string> { "456qwerty" }) }; var signature = sut.Create(HttpMethod.Post, headers, _applicationUri, DateTime.UtcNow.ToTimeStamp(), new Nonce(), _requestPayload, _scope, _apiKey); var validator = new SignatureValidator(); var request = new HttpRequestMessage(HttpMethod.Post, _applicationUri) { Content = new StringContent(_requestPayload) }; foreach (var header in headers) { request.Headers.Add(header.Key, header.Value); } request.Headers.Add("Authorization", signature); (await validator.Validate(request, _scope, _apiKey)).ShouldBe(true); }
public void Validate_ContentNull_ThrowsException() { ExceptionAssert.ThrowsArgumentNullException("content", () => { SignatureValidator validator = new SignatureValidator(TestConfiguration.Create()); validator.Validate(null, "test"); }); }
public void ShouldThrowExceptionWhenSignatureLengthIsInvalid() { ExceptionAssert.Throws <LineBotException>("Invalid signature.", () => { SignatureValidator validator = new SignatureValidator(TestConfiguration.Create()); validator.Validate(new byte[] { 42 }, "NDI="); }); }
public void ShouldThrowExceptionWhenSignatureIsEmpty() { ExceptionAssert.ThrowsArgumentEmptyException("signature", () => { SignatureValidator validator = new SignatureValidator(TestConfiguration.Create()); validator.Validate(new byte[] { 0 }, string.Empty); }); }
public void ShouldThrowExceptionWhenSignatureIsNull() { ExceptionAssert.ThrowsArgumentNullException("signature", () => { SignatureValidator validator = new SignatureValidator(TestConfiguration.Create()); validator.Validate(new byte[] { 0 }, null); }); }
public void ShouldThrowExceptionWhenContentIsEmpty() { ExceptionAssert.ThrowsArgumentEmptyException("content", () => { SignatureValidator validator = new SignatureValidator(TestConfiguration.Create()); validator.Validate(new byte[] { }, "test"); }); }
public void Validate_SignatureIncorrectLength_ThrowsException() { ExceptionAssert.Throws <LineBotException>("Invalid signature.", () => { SignatureValidator validator = new SignatureValidator(TestConfiguration.Create()); validator.Validate(new byte[] { 42 }, "NDI="); }); }
public void Validate_ContentEmpty_ThrowsException() { ExceptionAssert.ThrowsArgumentEmptyException("content", () => { SignatureValidator validator = new SignatureValidator(null); validator.Validate(new byte[] { }, "test"); }); }
public void Validate_SignatureInvalid_ThrowsException() { ExceptionAssert.Throws <LineBotException>("Invalid signature. Expected aajPtaEL8oyiitLlTbSzkFCTDQ7Lr0m/89eDhe6tFx4=, actual value FooBar.", () => { SignatureValidator validator = new SignatureValidator(TestConfiguration.Create()); validator.Validate(new byte[] { 42 }, "FooBar"); }); }
public void Validate_SignatureEmpty_ThrowsException() { ExceptionAssert.ThrowsArgumentEmptyException("signature", () => { SignatureValidator validator = new SignatureValidator(null); validator.Validate(new byte[] { 0 }, string.Empty); }); }
public void Validate_SignatureNull_ThrowsException() { ExceptionAssert.ThrowsArgumentNullException("signature", () => { SignatureValidator validator = new SignatureValidator(null); validator.Validate(new byte[] { 0 }, null); }); }
public void ShouldThrowExceptionWhenContentIsNull() { SignatureValidator validator = new SignatureValidator(TestConfiguration.Create()); ExceptionAssert.ThrowsArgumentNullException("content", () => { validator.Validate(null, "test"); }); }
public void GeneratesValidSignatureXml() { //Arrange var signatureGenerator = DomainUtility.GetSignature(); var xml = signatureGenerator.Xml().InnerXml; var signatureValidator = new SignatureValidator(); //Act var isValidSignatureXml = signatureValidator.Validate(xml); var signatureLength = xml.Length; //Assert Assert.True(isValidSignatureXml); Assert.True(signatureLength > 3200); }
static bool Validate(byte[] tbsCertificate, byte[] subjectPublicKeyInfo, byte[] signatureAlgorithm, byte[] signatureValue) { SignedData signedData = new SignedData(); signedData.subjectPublicKeyInfo = subjectPublicKeyInfo; signedData.signedData = tbsCertificate; signedData.signatureAlgorithm = signatureAlgorithm; signedData.signatureValue = signatureValue; return(SignatureValidator.Validate(signedData)); //todo: Signature will be validated using parameter fields //now always return signature is valid //todo: add real implementation code return(true); }
public async Task CreatedSignature_FromRequestWithNoContent_CanBeValidated() { var sut = new SignatureCreator(); IEnumerable <KeyValuePair <string, IEnumerable <string> > > headers = new List <KeyValuePair <string, IEnumerable <string> > >(); var signature = sut.CreateWithoutContent(HttpMethod.Get, headers, _applicationUri, DateTime.UtcNow.ToTimeStamp(), new Nonce(), _scope, _apiKey); var validator = new SignatureValidator(); var request = new HttpRequestMessage(HttpMethod.Get, _applicationUri) { Content = new StringContent(string.Empty) }; request.Headers.Add("Authorization", signature); (await validator.Validate(request, _scope, _apiKey)).ShouldBe(true); }
public void ShouldNotThrowExceptionWhenSignatureIsValid() { SignatureValidator validator = new SignatureValidator(TestConfiguration.Create()); validator.Validate(new byte[] { 42 }, "aajPtaEL8oyiitLlTbSzkFCTDQ7Lr0m/89eDhe6tFx4="); }
public void Validate_SignatureValid_ThrowsNoException() { SignatureValidator validator = new SignatureValidator(TestConfiguration.Create()); validator.Validate(new byte[] { 42 }, "aajPtaEL8oyiitLlTbSzkFCTDQ7Lr0m/89eDhe6tFx4="); }