Example #1
0
        public void AcceptableNonceDrift()
        {
            var offsetFromNow = TimeSpan.FromSeconds(-60 * 5).Add(TimeSpan.FromSeconds(1));
            var max           = TimeSpan.FromMinutes(5);

            while (offsetFromNow < max)
            {
                string ignored;
                for (int i = 0; i < 1000; i++)
                {
                    var now = DateTime.UtcNow;

                    var nonce = Nonces.Create(now + offsetFromNow);

                    if (!Nonces.IsValid(nonce, "127.0.0.1", out ignored, now))
                    {
                        DateTime created;
                        Nonces.Parse(nonce, out created);
                        Assert.Fail("Failed on [" + nonce + "] on [" + created + "] diff of [" + (created - now) + "]");
                    }
                }

                offsetFromNow = offsetFromNow.Add(TimeSpan.FromSeconds(1));
            }
        }