GenerateDerivedKey

Generates a derived key based on a symmetric key held by the CardSpace system.

                                    
                                    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 );
                                
                                    
                                        
                                    
                                    
                                

Parameters

Parameter Description

hCrypto

Handle to the cryptographic object associated with a previously released security token.

cbLabel

The length, in bytes, of the label.

pLabel

The label.

cbNonce

The length, in bytes, of the nonce.

pNonce

The nonce.

derivedKeyLength

The desired length of the derived key.

offset

The offset of the hash generated from the label and nonce from which the generated key should be extracted.

algId

A string URI that identifies the key derivation algorithm to use. PSHA1 is the only currently supported algorithm.

pcbKey

The length of the derived key.

ppKey

Pointer to a buffer containing the derived key. This buffer must be freed after use by using the GlobalFree function.

Property Value/Return Value

HRESULT.

See Also

Concepts

HRESULTS Returned

Footer image

Send comments about this topic to Microsoft.
© Microsoft Corporation. All rights reserved.