public async Task GetKeysAsync_within_expiration_should_return_keys() { var now = _mockClock.UtcNow; var keys = new RsaKeyContainer[] { new RsaKeyContainer() { Created = _mockClock.UtcNow.DateTime.Subtract(TimeSpan.FromMinutes(1)) }, new RsaKeyContainer() { Created = _mockClock.UtcNow.DateTime.Subtract(TimeSpan.FromMinutes(2)) }, }; await _subject.StoreKeysAsync(keys, TimeSpan.FromMinutes(1)); var result = await _subject.GetKeysAsync(); result.Should().BeSameAs(keys); _mockClock.UtcNow = now.Subtract(TimeSpan.FromDays(1)); result = await _subject.GetKeysAsync(); result.Should().BeSameAs(keys); _mockClock.UtcNow = now.Add(TimeSpan.FromSeconds(59)); result = await _subject.GetKeysAsync(); result.Should().BeSameAs(keys); _mockClock.UtcNow = now.Add(TimeSpan.FromMinutes(1)); result = await _subject.GetKeysAsync(); result.Should().BeSameAs(keys); }
public SerializedKey Protect(RsaKeyContainer key) { ProtectWasCalled = true; return(new SerializedKey { Id = key.Id, KeyType = key.KeyType, Created = DateTime.UtcNow, Data = KeySerializer.Serialize(key), }); }
public void IsKeyRotationRequired_when_no_active_key_should_be_true() { { var keys = new RsaKeyContainer[] { CreateKey(_options.KeyRetirement.Add(TimeSpan.FromDays(1))), }; var result = _subject.IsKeyRotationRequired(keys); result.Should().BeTrue(); } { var keys = new[] { CreateKey(_options.KeyExpiration.Add(TimeSpan.FromDays(1))), }; var result = _subject.IsKeyRotationRequired(keys); result.Should().BeTrue(); } }
public async Task GetKeysAsync_past_expiration_should_return_no_keys() { var now = _mockClock.UtcNow; var keys = new RsaKeyContainer[] { new RsaKeyContainer() { Created = _mockClock.UtcNow.UtcDateTime.Subtract(TimeSpan.FromMinutes(1)) }, new RsaKeyContainer() { Created = _mockClock.UtcNow.UtcDateTime.Subtract(TimeSpan.FromMinutes(2)) }, }; await _subject.StoreKeysAsync(keys, TimeSpan.FromMinutes(1)); _mockClock.UtcNow = now.Add(TimeSpan.FromSeconds(61)); var result = await _subject.GetKeysAsync(); result.Should().BeNullOrEmpty(); }