Is there a logical reason why the minimum requirements for CNG in .NET and in unmanaged code are so inconsistent? For example,
NCryptDeleteKey (unmanaged CNG) requires Windows Vista or Server 2008:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa376251(v=vs.85).aspx
But CngKey.delete (apparently managed CNG) requires only .NET 3.5 which is accessible from Windows 7:
https://msdn.microsoft.com/en-us/library/system.security.cryptography.cngkey.delete(v=vs.110).aspx
Some of the requirements are as steep as 4.6.2 depending on the call, Example:
The AesCng Constructor to access an existing AES CNG key:
https://msdn.microsoft.com/en-us/library/mt693435(v=vs.110).aspx
But you can still call that from a properly updated Windows 7 machine. So why is there such a difference?
Is it possible that a properly updated Windows 7 machine could reliably call NCryptDeleteKey?