public static extern bool CryptGenKey ( [param: In] NCryptKeyOrCryptProviderSafeHandle hProv, [param: In, MarshalAs(UnmanagedType.U4)] KeySpec Algid, [param: In, MarshalAs(UnmanagedType.U4)] uint dwFlags, [param: Out] out CryptKeySafeHandle phKey );
public static extern unsafe bool CryptGetProvParam ( [param: In] NCryptKeyOrCryptProviderSafeHandle hProv, [param: In, MarshalAs(UnmanagedType.U4)] uint dwParam, [param: In] void *pbData, [param: In, Out, MarshalAs(UnmanagedType.U4)] ref uint pdwDataLen, [param: In, MarshalAs(UnmanagedType.U4)] uint dwFlags );
public static extern bool CryptAcquireContext ( [param: Out] out NCryptKeyOrCryptProviderSafeHandle phProv, [param: In, MarshalAs(UnmanagedType.LPTStr)] string pszContainer, [param: In, MarshalAs(UnmanagedType.LPTStr)] string pszProvider, [param: In, MarshalAs(UnmanagedType.U4)] ProviderType dwProvType, [param: In, MarshalAs(UnmanagedType.U4)] CryptAcquireContextFlags dwFlags );
public static extern uint NCryptOpenKey ( [param: In] NCryptStorageProviderSafeHandle hProvider, [param: Out] out NCryptKeyOrCryptProviderSafeHandle phKey, [param: In, MarshalAs(UnmanagedType.LPWStr)] string pszKeyName, [param: In, MarshalAs(UnmanagedType.U4)] KeySpec dwLegacyKeySpec, [param: In, MarshalAs(UnmanagedType.U4)] uint dwFlags );
public static extern bool CryptAcquireCertificatePrivateKey( [param: In, MarshalAs(UnmanagedType.SysInt)] IntPtr pCert, [param: In, MarshalAs(UnmanagedType.U4)] AcquirePrivateKeyFlags dwFlags, [param: In, MarshalAs(UnmanagedType.SysInt)] IntPtr pvParameters, [param: Out] out NCryptKeyOrCryptProviderSafeHandle phCryptProvOrNCryptKey, [param: Out, MarshalAs(UnmanagedType.U4)] out KeySpec pdwKeySpec, [param: Out, MarshalAs(UnmanagedType.Bool)] out bool pfCallerFreeProvOrNCryptKey );
public static extern bool CryptExportPublicKeyInfoEx ( [param: In] NCryptKeyOrCryptProviderSafeHandle hCryptProvOrNCryptKey, [param: In, MarshalAs(UnmanagedType.U4)] KeySpec dwKeySpec, [param: In, MarshalAs(UnmanagedType.U4)] EncodingType dwCertEncodingType, [param: In, MarshalAs(UnmanagedType.LPStr)] string pszPublicKeyObjId, [param: In, MarshalAs(UnmanagedType.U4)] uint dwFlags, [param: In, MarshalAs(UnmanagedType.SysInt)] IntPtr pvAuxInfo, [param: In, MarshalAs(UnmanagedType.SysInt)] IntPtr pInfo, [param: In, Out, MarshalAs(UnmanagedType.U4)] ref uint pcbInfo );
public static extern IntPtr CertCreateSelfSignCertificate ( [param: In] NCryptKeyOrCryptProviderSafeHandle nCryptKey, [param: In, MarshalAs(UnmanagedType.Struct)] ref NATIVE_CRYPTOAPI_BLOB pSubjectIssuerBlob, [param: In, MarshalAs(UnmanagedType.U4)] SelfSignFlags dwFlags, [param: In, MarshalAs(UnmanagedType.Struct)] ref CRYPT_KEY_PROV_INFO pKeyProvInfo, [param: In, MarshalAs(UnmanagedType.Struct)] ref CRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm, [param: In, MarshalAs(UnmanagedType.LPStruct)] SYSTEMTIME pStartTime, [param: In, MarshalAs(UnmanagedType.LPStruct)] SYSTEMTIME pEndTime, [param: In, MarshalAs(UnmanagedType.Struct)] ref CERT_EXTENSIONS pExtensions );
public static extern bool CryptSignAndEncodeCertificate ( [param: In] NCryptKeyOrCryptProviderSafeHandle hCryptProvOrNCryptKey, [param: In, MarshalAs(UnmanagedType.U4)] KeySpec dwKeySpec, [param: In, MarshalAs(UnmanagedType.U4)] EncodingType dwCertEncodingType, [param: In, MarshalAs(UnmanagedType.SysInt)] IntPtr lpszStructType, [param: In, MarshalAs(UnmanagedType.Struct)] ref CERT_INFO pvStructInfo, [param: In, MarshalAs(UnmanagedType.Struct)] ref CRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm, [param: In, MarshalAs(UnmanagedType.SysInt)] IntPtr pvHashAuxInfo, [param: In, MarshalAs(UnmanagedType.SysInt)] IntPtr pbEncoded, [param: In, Out, MarshalAs(UnmanagedType.U4)] ref uint pcbEncoded );
internal abstract string GetName(NCryptKeyOrCryptProviderSafeHandle handle);
internal abstract string GetAlgorithmGroup(NCryptKeyOrCryptProviderSafeHandle handle);
public static extern bool CertSetCertificateContextProperty( [param: In, MarshalAs(UnmanagedType.SysInt)] IntPtr pCertContext, [param: In, MarshalAs(UnmanagedType.U4)] uint dwPropId, [param: In, MarshalAs(UnmanagedType.U4)] uint dwFlags, [param: In] NCryptKeyOrCryptProviderSafeHandle pvData );
public static extern uint NCryptFinalizeKey ( [param: In] NCryptKeyOrCryptProviderSafeHandle hKey, [param: In, MarshalAs(UnmanagedType.U4)] uint dwFlags );