基于 CardSpace 系统持有的对称密钥生成一个派生的密钥。
HRESULT
___stdcall GenerateDerivedKey(
__in PINFORMATIONCARD_CRYPTO_HANDLE hCrypto,
__in DWORD cbLabel,
__in_bcount( cbLabel ) PBYTE pLabel,
__in DWORD cbNonce,
__in_bcount( cbNonce ) PBYTE pNonce,
__in DWORD derivedKeyLength,
__in DWORD offset,
__in LPCWSTR algId,
__out DWORD* pcbKey,
__out_bcount( *pcbKey ) PBYTE* ppKey );
参数
参数 | 说明 |
---|---|
hCrypto |
与先前释放的安全令牌关联的加密对象的句柄。 |
cbLabel |
标签的长度(以字节为单位)。 |
pLabel |
标签。 |
cbNonce |
Nonce 的长度(以字节为单位)。 |
pNonce |
Nonce。 |
derivedKeyLength |
派生密钥的所需长度。 |
offset |
从标签和 Nonce(应从中提取生成的密钥)中生成的哈希的偏移量。 |
algId |
标识要使用的密钥派生算法的字符串 URI。 PSHA1 是目前唯一受支持的算法。 |
pcbKey |
派生密钥的长度。 |
ppKey |
指向包含派生密钥的缓冲区的指针。 在使用后,必须使用 GlobalFree 函数释放此缓冲区。 |
属性值/返回值
HRESULT。
要求
Windows Vista
头:在 infocard.h 中声明。
库:使用 infocardapi.lib。
请参见
概念
版权所有 (C) 2007 Microsoft Corporation。保留所有权利。