다음을 통해 공유


DefaultKeyResolution.ShouldGenerateNewKey의 의미가 변경되었습니다.

DefaultKeyResolution.ShouldGenerateNewKey 더 이상 기본 키가 만료 시간에 근접했는지 여부를 반영하지 않습니다.

도입된 버전

ASP.NET Core 9.0 미리 보기 3

이전 동작

기본 키가 만료 시간의 2일 이내(지나치게 단순화)일 경우 API의 문서화되지 않았지만 일관된 기능은 ShouldGenerateNewKeytrue였습니다. 리드 타임은 폴링 간격ICacheableKeyRingProvider을 기반으로 했는데, 이것은 IDefaultKeyResolver.ResolveDefaultKeyPolicy이 의존해서는 안 되는 것이었습니다 (예를 들어, 대체 구현은 이러한 세부 정보를 인식하지 못할 가능성이 있습니다).

새 동작

.NET 9부터 ShouldGenerateNewKeytrue인 경우, 기본 키가 없거나, 특수화된 구현 IDefaultKeyResolver에서 정책상의 이유로 새 키를 생성해야 함을 나타냅니다. ICacheableKeyRingProvider 만료 시간이 새 키 생성을 보증할 만큼 가까운지 여부를 자체적으로 결정합니다.

파괴적 변경 유형

이 변경 사항은 행동 변화입니다.

변경 이유

이 변경 내용은 다음 두 가지 이유로 수행되었습니다.

  • 만료 시간에 가까운 키 생성에 대한 논리를 변경합니다.
  • 사용자 지정 IDefaultKeyResolver을 보다 간단하게 구현할 수 있도록 합니다.

만료 논리를 IDefaultKeyResolver 복제하려는 구현이 있는 경우 해당 논리를 제거할 수 있습니다(그러나 그대로 두는 것도 괜찮습니다).

만료가 보류 중인지 여부를 확인하기 위해 직접 사용하는 IDefaultKeyResolver 경우 기본 키의 ExpirationDate 속성을 직접 확인할 수 있습니다.

영향을 받는 API

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