public void BadSignatureEmptyLength(string badSignature) { //Online HMAC tester: https://www.devglan.com/online-tools/hmac-sha256-online var input = new TestModelInclusive(); var calculator = new HMACSHA256SignatureCalculator(); var sut = new InstanceSignatureBuilder(calculator); sut.VerifyHex(input, badSignature, knownKey).Should().BeFalse(); }
public void CalculatesSignatureFromKnownArbitraryStrings() { // Quote attribution: http://www.cs.yale.edu/homes/perlis-alan/quotes.html var actual = new HMACSHA256SignatureCalculator() .Calculate("One man's constant is another man's variable", "Syntactic sugar causes cancer of the semicolon"); // Independently verified online: https://www.devglan.com/online-tools/hmac-sha256-online actual.SignatureAsHexString().Should().Be("17575fd12f3b1bbda8016357a7ae3d2ed554f2d323d23f887e39c970eb26350c"); }
public void PropertiesImplicitlyIncludedInCalculation() { //Online HMAC tester: https://www.devglan.com/online-tools/hmac-sha256-online const string signature = "8feda6b02259091f6d58b53f5bf5645586fe38694c43d50c4e06f51265ed84a9"; var input = new TestModelInclusive(); var calculator = new HMACSHA256SignatureCalculator(); var sut = new InstanceSignatureBuilder(calculator); sut.VerifyHex(input, signature, knownKey).Should().BeTrue(); }
public void PropertiesPartialExclusionsWithCalculation() { //Online HMAC tester: https://www.devglan.com/online-tools/hmac-sha256-online var expected = new SignatureCalculation( "9bac02d1fb108ec1581000627cf4b4edf99976761012a56a44d9bbb4829edba4", "Field3Ifalistenernodshisheadwhenyou'reexplainingyourprogram,wakehimup.Field42147483647Field5trueField6true" ); var input = new TestModelPartialExclusions(); var calculator = new HMACSHA256SignatureCalculator(); var sut = new InstanceSignatureBuilder(calculator); var actual = sut.Compute(input, knownKey); actual.Should().BeEquivalentTo(expected); }
public void PropertiesImplicitlyIncludedInCalculation() { //Online HMAC tester: https://www.devglan.com/online-tools/hmac-sha256-online var expected = new SignatureCalculation( "8feda6b02259091f6d58b53f5bf5645586fe38694c43d50c4e06f51265ed84a9", "Field1Oneman'sconstantisanotherman'svariable.Field22147483647Field39223372036854775807Field43.4028235E+38Field51.7976931348623157E+308Field69999-12-31T23:59:59.9999999Field7true" ); var input = new TestModelInclusive(); var calculator = new HMACSHA256SignatureCalculator(); var sut = new InstanceSignatureBuilder(calculator); var actual = sut.Compute(input, knownKey); actual.Should().BeEquivalentTo(expected); }