CryptDestroyKey

【勇芳软件工作室】汉化HomePreviousNext

[New - Windows NT]

[New - Windows 95, OEM Service Release 2]

CryptDestroyKey函数释放由【的hKeyru-Latn】参数引用的句柄。一旦钥匙把手被释放,它将变得无效,不能再次使用。

如果句柄是指通过CryptImportKey导入到CSP的会话密钥或公钥,则此函数会销毁该密钥,并释放该密钥所占用的内存。许多CSP将在释放钥匙之前擦洗记忆。

另一方面,如果句柄是指公钥/私钥对(从CryptGetUserKey获得),那么这个函数不会破坏基础密钥对。只有手柄被摧毁。

BOOL CRYPTFUNC CryptDestroyKey(

HCRYPTKEY【的hKeyru-Latn】 
); 

参数

【的hKeyru-Latn】

[in]要被销毁的钥匙的句柄。

备注

键占用操作系统内存空间和CSP内存空间。一些CSP将以非常有限的内存资源在硬件中实现。因此,使用CryptDestroyKey函数完成之后,应用程序将销毁所有密钥很重要。

返回值

如果函数成功,返回值不为零。

如果函数失败,返回值为零。要检索扩展错误信息,请使用GetLastError功能。

下表列出了GetLastError功能最常返回的错误代码。由“NTE”开头的错误代码由您使用的特定CSP生成。

错误描述
ERROR_INVALID_HANDLE其中一个参数指定一个无效句柄。
ERROR_INVALID_PARAMETER其中一个参数包含无效值。这通常是一个非法的指针。
NTE_BAD_KEY【的hKeyru-Latn】参数不包含键的有效句柄。
NTE_BAD_UID创建密钥时指定的CSP上下文无法找到。

请参阅CryptGenKey功能中的“示例”部分。

也可以看看

CryptDeriveKey, CryptGenKey, CryptGetUserKey, CryptImportKey