基于 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。
请参见
概念
.gif)
版权所有 (C) 2007 Microsoft Corporation。保留所有权利。