SQL Server provides data encryption capabilities together with Extensible Key Management (EKM), using the Microsoft Cryptographic API (MSCAPI) provider for encryption and key generation.
Does this mean that EKM will only work with MSCAPI(old CSP) and not with new CNG key storage provider?
Yes, at the moment the
EKM (Extensible Key Management)works only withMSCAPI. The EKM does not have any API to communicate with CNG (OS level - yet).It is the "holder" of the keys. The
CNGis key storage that serves MS Windows, being default starting with Windows Server 2008 and Windows Vista.CNG vs. EKM
The
CNG (DPAPI [CNG DPAPI][1]is used only to protect Database Master Key (OS).EKMdoes not use it.From the CNG point of view
If you check the CNG architecture it specifically says it is using Microsoft software KSP for (private) keys storage.
To quote:
Even the CNG architecture image does not mention SQL Server as possibility:
For more see Key Storage and Retrieval
Note: all illustrations were created by Microsoft.