21 instantiations of CacheableKeyRing
Microsoft.AspNetCore.DataProtection (2)
KeyManagement\Internal\CacheableKeyRing.cs (1)
49
return new
CacheableKeyRing
(CancellationToken.None, now + extension, KeyRing);
KeyManagement\KeyRingProvider.cs (1)
196
return new
CacheableKeyRing
(
Microsoft.AspNetCore.DataProtection.Tests (19)
KeyManagement\CacheableKeyRingTests.cs (3)
27
var cacheableKeyRing = new
CacheableKeyRing
(cts.Token, now.AddHours(1), keyRing);
42
var cacheableKeyRing = new
CacheableKeyRing
(cts.Token, now.AddHours(1), keyRing);
54
var cacheableKeyRing = new
CacheableKeyRing
(CancellationToken.None, DateTimeOffset.Now, keyRing);
KeyManagement\KeyRingBasedDataProtectorTests.cs (5)
276
var keyRing = new
CacheableKeyRing
(CancellationToken.None, DateTimeOffset.MaxValue, key, new[] { key });
307
var keyRing = new
CacheableKeyRing
(CancellationToken.None, DateTimeOffset.MaxValue, key, new[] { key });
311
var keyRing2 = new
CacheableKeyRing
(CancellationToken.None, DateTimeOffset.MaxValue, key, new[] { key2 });
343
var keyRing = new
CacheableKeyRing
(CancellationToken.None, DateTimeOffset.MaxValue, key, new[] { key });
347
var keyRing2 = new
CacheableKeyRing
(CancellationToken.None, DateTimeOffset.MaxValue, key, new[] { key2 });
KeyManagement\KeyRingProviderTests.cs (11)
587
.Returns(new
CacheableKeyRing
(
614
.Returns(new
CacheableKeyRing
(
620
.Returns(new
CacheableKeyRing
(
626
.Returns(new
CacheableKeyRing
(
655
.Returns(new
CacheableKeyRing
(
661
.Returns(new
CacheableKeyRing
(
706
return new
CacheableKeyRing
(
738
.Returns(new
CacheableKeyRing
(cts.Token, StringToDateTime("2015-03-02 00:00:00Z"), originalKeyRing));
744
.Returns(new
CacheableKeyRing
(CancellationToken.None, StringToDateTime("2015-03-02 00:00:00Z"), updatedKeyRing));
830
.Returns(new
CacheableKeyRing
(
836
.Returns(new
CacheableKeyRing
(
72 references to CacheableKeyRing
KeyManagementSimulator (1)
Program.cs (1)
408
var
keyRing = _cacheableKeyRingProvider.GetCacheableKeyRing(now);
Microsoft.AspNetCore.DataProtection (24)
KeyManagement\Internal\CacheableKeyRing.cs (3)
34
internal static bool IsValid([NotNullWhen(true)]
CacheableKeyRing
? keyRing, DateTime utcNow)
42
/// Returns a new <see cref="
CacheableKeyRing
"/> which is identical to 'this' but with a
46
internal
CacheableKeyRing
WithTemporaryExtendedLifetime(DateTimeOffset now)
KeyManagement\Internal\ICacheableKeyRingProvider.cs (1)
19
CacheableKeyRing
GetCacheableKeyRing(DateTimeOffset now);
KeyManagement\KeyRingProvider.cs (20)
22
private
CacheableKeyRing
? _cacheableKeyRing;
24
private Task<
CacheableKeyRing
>? _cacheableKeyRingTask; // Also covered by _cacheableKeyRingLockObj
81
private
CacheableKeyRing
CreateCacheableKeyRingCore(DateTimeOffset now, IKey? keyJustAdded)
171
private
CacheableKeyRing
CreateCacheableKeyRingCoreStep2(DateTimeOffset now, CancellationToken cacheExpirationToken, IKey defaultKey, IEnumerable<IKey> allKeys)
231
CacheableKeyRing
? existingCacheableKeyRing = null;
235
if (
CacheableKeyRing
.IsValid(existingCacheableKeyRing, utcNow))
257
if (
CacheableKeyRing
.IsValid(existingCacheableKeyRing, utcNow))
270
CacheableKeyRing
newCacheableKeyRing;
337
var
cached = Volatile.Read(ref _cacheableKeyRing);
338
if (
CacheableKeyRing
.IsValid(cached, utcNow))
344
CacheableKeyRing
? existingCacheableKeyRing = null;
345
Task<
CacheableKeyRing
>? existingTask = null;
354
if (
CacheableKeyRing
.IsValid(existingCacheableKeyRing, utcNow))
396
Debug.Assert(!
CacheableKeyRing
.IsValid(existingCacheableKeyRing, utcNow), "Should have returned a valid cached key ring above");
422
var
newCacheableKeyRing = Volatile.Read(ref _cacheableKeyRing);
444
private IKeyRing? GetKeyRingFromCompletedTaskUnsynchronized(Task<
CacheableKeyRing
> task, DateTime utcNow)
459
var
newCacheableKeyRing = task.GetAwaiter().GetResult(); // Call GetResult to throw on failure
465
var
existingCacheableKeyRing = Volatile.Read(ref _cacheableKeyRing);
466
if (existingCacheableKeyRing is not null && !
CacheableKeyRing
.IsValid(existingCacheableKeyRing, utcNow))
496
CacheableKeyRing
ICacheableKeyRingProvider.GetCacheableKeyRing(DateTimeOffset now)
Microsoft.AspNetCore.DataProtection.Tests (47)
KeyManagement\CacheableKeyRingTests.cs (8)
17
Assert.False(
CacheableKeyRing
.IsValid(null, DateTime.UtcNow));
27
var
cacheableKeyRing = new CacheableKeyRing(cts.Token, now.AddHours(1), keyRing);
30
Assert.True(
CacheableKeyRing
.IsValid(cacheableKeyRing, now.UtcDateTime));
32
Assert.False(
CacheableKeyRing
.IsValid(cacheableKeyRing, now.UtcDateTime));
42
var
cacheableKeyRing = new CacheableKeyRing(cts.Token, now.AddHours(1), keyRing);
45
Assert.True(
CacheableKeyRing
.IsValid(cacheableKeyRing, now.UtcDateTime));
46
Assert.False(
CacheableKeyRing
.IsValid(cacheableKeyRing, now.AddHours(1).UtcDateTime));
54
var
cacheableKeyRing = new CacheableKeyRing(CancellationToken.None, DateTimeOffset.Now, keyRing);
KeyManagement\KeyRingBasedDataProtectorTests.cs (13)
276
var
keyRing = new CacheableKeyRing(CancellationToken.None, DateTimeOffset.MaxValue, key, new[] { key });
307
var
keyRing = new CacheableKeyRing(CancellationToken.None, DateTimeOffset.MaxValue, key, new[] { key });
311
var
keyRing2 = new CacheableKeyRing(CancellationToken.None, DateTimeOffset.MaxValue, key, new[] { key2 });
343
var
keyRing = new CacheableKeyRing(CancellationToken.None, DateTimeOffset.MaxValue, key, new[] { key });
347
var
keyRing2 = new CacheableKeyRing(CancellationToken.None, DateTimeOffset.MaxValue, key, new[] { key2 });
364
private
CacheableKeyRing
_keyRing;
366
public TestKeyRingProvider(
CacheableKeyRing
keys) => _keyRing = keys;
368
public
CacheableKeyRing
GetCacheableKeyRing(DateTimeOffset now) => _keyRing;
373
private
CacheableKeyRing
_keyRing;
374
private
CacheableKeyRing
_refreshKeyRing;
377
public RefreshTestKeyRingProvider(
CacheableKeyRing
keys,
CacheableKeyRing
refreshKeys)
383
public
CacheableKeyRing
GetCacheableKeyRing(DateTimeOffset now)
KeyManagement\KeyRingProviderTests.cs (26)
50
var
cacheableKeyRing = keyRingProvider.GetCacheableKeyRing(now);
55
Assert.True(
CacheableKeyRing
.IsValid(cacheableKeyRing, now));
57
Assert.False(
CacheableKeyRing
.IsValid(cacheableKeyRing, now));
93
var
cacheableKeyRing = keyRingProvider.GetCacheableKeyRing(now);
98
Assert.True(
CacheableKeyRing
.IsValid(cacheableKeyRing, now));
100
Assert.False(
CacheableKeyRing
.IsValid(cacheableKeyRing, now));
141
var
cacheableKeyRing = keyRingProvider.GetCacheableKeyRing(now);
146
Assert.True(
CacheableKeyRing
.IsValid(cacheableKeyRing, now));
148
Assert.True(
CacheableKeyRing
.IsValid(cacheableKeyRing, now));
150
Assert.False(
CacheableKeyRing
.IsValid(cacheableKeyRing, now));
230
var
cacheableKeyRing = keyRingProvider.GetCacheableKeyRing(now);
235
Assert.True(
CacheableKeyRing
.IsValid(cacheableKeyRing, now));
237
Assert.True(
CacheableKeyRing
.IsValid(cacheableKeyRing, now));
239
Assert.False(
CacheableKeyRing
.IsValid(cacheableKeyRing, now));
314
var
cacheableKeyRing = keyRingProvider.GetCacheableKeyRing(now);
319
Assert.True(
CacheableKeyRing
.IsValid(cacheableKeyRing, now));
321
Assert.True(
CacheableKeyRing
.IsValid(cacheableKeyRing, now));
323
Assert.False(
CacheableKeyRing
.IsValid(cacheableKeyRing, now));
354
var
cacheableKeyRing = keyRingProvider.GetCacheableKeyRing(now);
359
Assert.True(
CacheableKeyRing
.IsValid(cacheableKeyRing, now));
361
Assert.False(
CacheableKeyRing
.IsValid(cacheableKeyRing, now));
392
var
cacheableKeyRing = keyRingProvider.GetCacheableKeyRing(now);
397
Assert.True(
CacheableKeyRing
.IsValid(cacheableKeyRing, now));
399
Assert.False(
CacheableKeyRing
.IsValid(cacheableKeyRing, now));
515
var
cacheableKeyRing = keyRingProvider.GetCacheableKeyRing(now);
561
var
cacheableKeyRing = keyRingProvider.GetCacheableKeyRing(now);