DrtCreateDerivedKey 函数 (drt.h)

DrtCreateDerivedKey 函数创建一个密钥,当 DRT 使用派生密钥安全提供程序时,DrtRegisterKey 可以使用该密钥。

语法

HRESULT DrtCreateDerivedKey(
  [in]  PCCERT_CONTEXT pLocalCert,
  [out] DRT_DATA       *pKey
);

参数

[in] pLocalCert

指向证书的指针,该证书是链的“本地”部分。 此链的根必须与 DrtCreateDerivedKeySecurityProvider 中的 pRootCert 指定的根匹配。 此证书用于生成用于向 DRT 注册和证明“密钥所有权”的密钥。

[out] pKey

指向创建的密钥的指针。

返回值

此函数在成功时返回S_OK。 其他可能的值包括:

返回代码 说明
E_INVALIDARG
  • pLocalCertNULL
  • pKeyNULL
  • DRT_DATA 结构中的 pb 成员为 NULL
  • DRT_DATA 结构中的 cb 成员不等于 32 个字节。
DRT_E_CAPABILITY_MISMATCH
  • 请求的安全算法 ( ie 不可用。BCRYPT_SHA256_ALGORITHM或BCRYPT_AES_ALGORITHM) 。
  • BCryptOpenAlgorithmProvider 操作失败。
  • dwProvType 参数指示证书提供程序不支持 AES。

要求

要求
最低受支持的客户端 Windows 7 专业版 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 drt.h
Library Drtprov.lib
DLL Drt.dll

另请参阅

DrtCreateDerivedKeySecurityProvider

DrtDeleteDerivedKeySecurityProvider

DrtRegisterKey