Delen via


DefaultKeyResolution.ShouldGenerateNewKey heeft betekenis gewijzigd

DefaultKeyResolution.ShouldGenerateNewKey geeft niet meer aan of de standaardsleutel dicht bij de verlooptijd ligt.

Versie geïntroduceerd

ASP.NET Core 9.0 Preview 3

Vorig gedrag

Het was een niet-gedocumenteerde, maar consistente functie van de API die ShouldGenerateNewKey was true als de standaardsleutel binnen twee dagen (een overschrijding) van de verlooptijd was. De hoeveelheid doorlooptijd was gebaseerd op het polling-interval van ICacheableKeyRingProvider, waarvan niet IDefaultKeyResolver.ResolveDefaultKeyPolicy iets zou moeten zijn afhankelijk (omdat bijvoorbeeld alternatieve implementaties waarschijnlijk niet op de hoogte waren van deze details).

Nieuw gedrag

Vanaf .NET 9, als ShouldGenerateNewKey dat het geval is true, geeft dit aan dat er geen standaardsleutel is of dat er om een andere beleidsreden (in een gespecialiseerde implementatie van IDefaultKeyResolver) een nieuwe sleutel moet worden gegenereerd. De ICacheableKeyRingProvider eigenaar beslist zelf of de verlooptijd dicht genoeg is om het genereren van een nieuwe sleutel te rechtvaardigen.

Type wijziging die fouten veroorzaken

Deze wijziging is een gedragswijziging.

Reden voor wijziging

Deze wijziging is om twee redenen aangebracht:

  • De logica voor het genereren van sleutels in de buurt van de verlooptijd wijzigen.
  • Om het eenvoudiger te maken om een aangepaste IDefaultKeyResolverimplementatie uit te voeren.

Als u een IDefaultKeyResolver implementatie hebt die de verlooplogica probeert te repliceren, kunt u die logica verwijderen (maar het is ook prima).

Als u rechtstreeks verbruikt IDefaultKeyResolver om te bepalen of de vervaldatum in behandeling was, kunt u de eigenschap van ExpirationDate de standaardsleutel rechtstreeks controleren.

Betrokken API's

  • Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.DefaultKeyResolution.ShouldGenerateNewKey