Compartir a través de


Varias API de protección de datos de ASP.NET Core

Advertencia

Los tipos que implementan cualquiera de las interfaces siguientes deben ser seguros para subprocesos para varios autores de llamadas.

ISecret

La interfaz de ISecret representa un valor secreto, como el material de clave criptográfica. Contiene la siguiente superficie de API:

  • Length: int

  • Dispose(): void

  • WriteSecretIntoBuffer(ArraySegment<byte> buffer): void

El método WriteSecretIntoBuffer rellena el búfer proporcionado con el valor secreto sin formato. La razón por la que esta API toma el búfer como parámetro en lugar de devolver directamente un byte[] es que esto proporciona al autor de la llamada la oportunidad de anclar el objeto de búfer, lo que limita la exposición de secretos al recolector de elementos no utilizados administrado.

El tipo Secret es una implementación concreta de ISecret donde el valor secreto se almacena en memoria en proceso. En las plataformas Windows, el valor secreto se cifra mediante CryptProtectMemory.