public void Should_provide_certificate_based_identitfication() { var lifetime = TimeSpan.FromMilliseconds(100); var purpose = new[] { "api" }; var identity = _identityDirectory.CreateIdentity(); var cert = _identityStore.AddCertificate(identity, lifetime, purpose); var result = _identityStore.AuthenticateWithCertificate(cert); Assert.IsNotNull(result); Assert.AreEqual(identity, result.Identity); Assert.AreEqual(purpose.Length, result.Purposes.Count); Assert.AreEqual(purpose[0], result.Purposes[0]); Assert.AreEqual(AuthenticationStatus.Authenticated, result.Status); result = _identityStore.AuthenticateWithCertificate(Guid.NewGuid().ToByteArray()); Assert.AreNotEqual(AuthenticationStatus.Authenticated, result.Status); Thread.Sleep(500); result = _identityStore.AuthenticateWithCertificate(cert); Assert.AreNotEqual(AuthenticationStatus.Authenticated, result.Status); }