private static extern SECURITY_STATUS NCryptCreatePersistedKey(
     SafeNCryptProviderHandle hProvider,
     [Out] out SafeNCryptKeyHandle phKey,
     string pszAlgId,
     string pszKeyName,
     int dwLegacyKeySpec,
     CngKeyCreationOptions dwFlags);
Example #2
0
 internal static extern ErrorCode NCryptCreatePersistedKey(SafeNCryptProviderHandle hProvider, out SafeNCryptKeyHandle phKey, string pszAlgId, string?pszKeyName, int dwLegacyKeySpec, CngKeyCreationOptions dwFlags);
Example #3
0
 internal static extern ErrorCode NCryptCreatePersistedKey(SafeNCryptProviderHandle hProvider, out SafeNCryptKeyHandle phKey, string pszAlgId, string pszKeyName, int dwLegacyKeySpec, CngKeyCreationOptions dwFlags);
        internal static SafeNCryptKeyHandle CreatePersistedKey(SafeNCryptProviderHandle provider, string algorithm, string name, CngKeyCreationOptions options)
        {
            SafeNCryptKeyHandle phKey = null;
            ErrorCode           code  = UnsafeNativeMethods.NCryptCreatePersistedKey(provider, out phKey, algorithm, name, 0, options);

            if (code != ErrorCode.Success)
            {
                throw new CryptographicException((int)code);
            }
            return(phKey);
        }