public void TestAuth() { var(privateRSAParameters, publicRSAParameters) = GenerateRSAKey(); TestAddUser("adam", publicRSAParameters); var signedData = new SignedData { Content = Encoding.UTF8.GetBytes(DateTimeOffset.UtcNow.ToUnixTimeSeconds().ToString()), PublicKey = publicRSAParameters }; signedData.GenerateSignedData(privateRSAParameters); Assert.AreEqual(HttpStatusCode.OK, TestAuthSendRequest(signedData)); signedData.Content = Encoding.UTF8.GetBytes((DateTimeOffset.UtcNow.ToUnixTimeSeconds() + 40).ToString()); signedData.GenerateSignedData(privateRSAParameters); Assert.AreEqual(HttpStatusCode.OK, TestAuthSendRequest(signedData)); var badSignedData = (SignedData)signedData.Clone(); badSignedData.SHA256Hash[0] = 0; Assert.AreEqual(HttpStatusCode.Unauthorized, TestAuthSendRequest(badSignedData)); badSignedData = (SignedData)signedData.Clone(); badSignedData.Signature[0] = 0; Assert.AreEqual(HttpStatusCode.Unauthorized, TestAuthSendRequest(badSignedData)); badSignedData = (SignedData)signedData.Clone(); badSignedData.PublicKey.Modulus[0] = 0; Assert.AreEqual(HttpStatusCode.Unauthorized, TestAuthSendRequest(badSignedData)); }