GenerateDerivedKey

基于 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。

请参见

概念

返回的 HRESULT

Footer image

向 Microsoft 发送对本主题的评论。

版权所有 (C) 2007 Microsoft Corporation。保留所有权利。