Lire en anglais

Partager via


Diverses API de protection des données d’ASP.NET Core

Avertissement

Les types qui implémentent l’une des interfaces suivantes doivent être thread-safe pour plusieurs appelants.

ISecret

L’interface ISecret représente une valeur de secret, telle que le matériel de la clé de chiffrement. Il contient la surface de l’API suivante :

  • Length: int

  • Dispose(): void

  • WriteSecretIntoBuffer(ArraySegment<byte> buffer): void

La méthode WriteSecretIntoBuffer remplit la mémoire tampon fournie avec la valeur de secret brute. La raison pour laquelle cette API prend la mémoire tampon en tant que paramètre, plutôt que retourner directement un byte[], est que cela donne à l’appelant la possibilité d’épingler l’objet en mémoire tampon, ce qui limite l’exposition des secrets au récupérateur de mémoire managé.

Le type Secret est une implémentation concrète de ISecret où la valeur de secret est stockée dans la mémoire in-process. Sur les plateformes Windows, la valeur de secret est chiffrée par CryptProtectMemory.