SQL Server 与可扩展密钥管理 (EKM) 一起提供数据加密功能,使用 Microsoft Cryptographic API (MSCAPI) 提供程序进行加密和密钥生成。
这是否意味着 EKM 只能与 MSCAPI(旧 CSP)一起使用,而不能与新的 CNG 密钥存储提供程序一起使用?
SQL Server 与可扩展密钥管理 (EKM) 一起提供数据加密功能,使用 Microsoft Cryptographic API (MSCAPI) 提供程序进行加密和密钥生成。
这是否意味着 EKM 只能与 MSCAPI(旧 CSP)一起使用,而不能与新的 CNG 密钥存储提供程序一起使用?
是的,目前EKM (Extensible Key Management)
仅适用于MSCAPI
. EKM 没有任何 API 可以与 CNG 通信(操作系统级别 - 尚未)。
它是钥匙的“持有者”。这CNG
是服务于 MS Windows 的密钥存储,默认从 Windows Server 2008 和 Windows Vista 开始。
CNG (DPAPI [CNG DPAPI][1]
仅用于保护数据库主密钥 (OS) 。EKM
不使用它。
如果您检查 CNG 架构,它会明确表示它正在使用Microsoft 软件 KSP进行(私有)密钥存储。
去引用:
CNG 目前支持使用 Windows Server 2008 和 Windows Vista 附带的 Microsoft 软件 KSP 存储非对称私钥,并默认安装。
甚至 CNG 架构图也没有提到 SQL Server 的可能性:
有关更多信息,请参阅 密钥存储和检索
注意:所有插图均由 Microsoft 创建。