杂项 ASP.NET Core 数据保护 ApiMiscellaneous ASP.NET Core Data Protection APIs

本文内容

警告

实现以下接口的任何类型应该是线程安全的多个调用方。

ISecretISecret

ISecret 接口表示机密值,如加密密钥材料。它包含以下 API 图面:

  • Length: int

  • Dispose(): void

  • WriteSecretIntoBuffer(ArraySegment<byte> buffer): void

WriteSecretIntoBuffer 方法用原始机密值填充所提供的缓冲区。此 API 使用缓冲区作为参数,而不是直接返回 byte[],这使调用方可以固定缓冲区对象,从而限制托管垃圾回收器的机密公开。

Secret 类型是 ISecret 的具体实现,其中的密钥值存储在进程内内存中。在 Windows 平台上,通过CryptProtectMemory.aspx)对机密值进行加密。