HKDF in Windows usa l'implementazione CNG

A partire da .NET 11, HKDF su Windows usa l'implementazione di Cryptography API: Next Generation (CNG) integrata in Windows. L'implementazione di Windows impone limiti più restrittivi per alcune dimensioni di input rispetto alla precedente implementazione di .NET, quindi alcuni input che funzionavano nelle versioni precedenti di .NET ora generano CryptographicException.

Versione introdotta

.NET 11 Preview 1

Comportamento precedente

In precedenza, su Windows, DeriveKey e Expand accettavano input di dimensioni arbitrarie, purché gli input fossero consentiti dalla specifica HKDF.

Nuovo comportamento

A partire da .NET 11, in Windows, DeriveKey e Expand limitano la lunghezza massima consentita dell'input per il materiale di input per la derivazione delle chiavi e per le chiavi pseudocasuali. Se il materiale di input per la derivazione della chiave passato a DeriveKey o la chiave pseudocasuale passata a Expand supera il limite, il metodo solleva CryptographicException.

Entrambi i limiti sono attualmente di 2.048 byte.

Tipo di modifica che causa un'interruzione

Questa modifica è una modifica funzionale.

Motivo della modifica

In Windows, .NET 11 è cambiato da un'implementazione hkdf gestita all'implementazione fornita da Windows CNG. Le librerie di crittografia .NET preferiscono le implementazioni della piattaforma per gli algoritmi di crittografia.

Gli usi tipici di HKDF non devono raggiungere questi limiti. Se l'applicazione passa materiale di input per la derivazione della chiave o chiavi pseudocasuali di dimensioni superiori a 2.048 byte su Windows, valutare l'uso di input più piccoli.

Le API interessate