public void TestVerifyChallengeTransactionThrowsIfOperationDataIsNotBase64Encoded() { var serverKeypair = KeyPair.Random(); var clientKeypair = KeyPair.Random(); var anchorName = "NET"; Network.UseTestNetwork(); var now = DateTimeOffset.Now; var nonce = new byte[64]; var tx = new Transaction .Builder(new Account(serverKeypair.AccountId, -1)) .AddOperation( new ManageDataOperation .Builder("NET auth", nonce) .SetSourceAccount(clientKeypair) .Build()) .Build(); tx.Sign(clientKeypair); Assert.ThrowsException <InvalidWebAuthenticationException>(() => { WebAuthentication.VerifyChallengeTransaction(tx, serverKeypair.AccountId, now: now); }); }
public void TestVerifyChallengeTransactionReturnsTrueForValidTransaction() { var serverKeypair = KeyPair.Random(); var clientKeypair = KeyPair.Random(); var anchorName = "NET"; Network.UseTestNetwork(); var now = DateTimeOffset.Now; var tx = WebAuthentication.BuildChallengeTransaction(serverKeypair, clientKeypair.AccountId, anchorName, now: now); tx.Sign(clientKeypair); Assert.IsTrue(WebAuthentication.VerifyChallengeTransaction(tx, serverKeypair.AccountId, now: now)); }
public void TestVerifyChallengeTransactionThrowsIfNotSignedByClient() { var serverKeypair = KeyPair.Random(); var clientKeypair = KeyPair.Random(); var anchorName = "NET"; Network.UseTestNetwork(); var now = DateTimeOffset.Now; var tx = WebAuthentication.BuildChallengeTransaction(serverKeypair, clientKeypair.AccountId, anchorName, now: now); Assert.ThrowsException <InvalidWebAuthenticationException>(() => { WebAuthentication.VerifyChallengeTransaction(tx, serverKeypair.AccountId, now: now); }); }
public void TestVerifyChallengeTransactionThrowsIfItsTooLate() { var serverKeypair = KeyPair.Random(); var clientKeypair = KeyPair.Random(); var anchorName = "NET"; Network.UseTestNetwork(); var now = DateTimeOffset.Now; var tx = WebAuthentication.BuildChallengeTransaction(serverKeypair, clientKeypair.AccountId, anchorName, now: now); tx.Sign(clientKeypair); Assert.ThrowsException <InvalidWebAuthenticationException>(() => { WebAuthentication.VerifyChallengeTransaction(tx, serverKeypair.AccountId, now: now.Add(TimeSpan.FromDays(1.0))); }); }