Функция CryptDeriveKey генерит криптографические сессионные ключи, получая их из исходных данных. Эта функция гарантирует, что когда используются одинаковые CSP и алгоритмы, то ключи, сгенерированные из одинаковых исходных данных, будут идентичны. В качестве исходных данных может выступать пароль или любая другая информация пользователя.
Данная функция похожа на функцию CryptGenKey, исключая то, что ключи генерятся не случайным образом, а из исходных данных. Функция CryptDeriveKey используется только для генерации сессионных ключей. Она не может генерит ключевые пары закрытый ключ/открытый ключ.
Дескриптор сессионного ключа возвращается при помощи параметра phKey. Этот дескриптор может быть использован любой CryptoAPI функцией, для которой необходим дескриптор ключа.
Аналогична описанию в CryptoAPI
WINADVAPI BOOL WINAPI CryptDeriveKey( HCRYPTPROV hProv, ALG_ID Algid, HCRYPTHASH hBaseData, DWORD dwFlags, HCRYPTKEY * phKey );
AIX: 5/6/7 или выше.
FreeBSD: 7/8/9 или выше.
Linux: LSB 3.1 (RHEL 4, SuSE 10) или выше.
Solaris: 10/11 или выше.
Mac OSX: 10.7/8 или выше.
iOS: 6/7 или выше.
Файл описания: Прототип описан в файлах CSP_WinCrypt.h и WinCryptEx.h.
Функции генерации и обмена ключа , CryptAcquireContextA, CryptCreateHash, CryptDestroyHash, CryptDestroyKey, CryptExportKey, CryptGenKey, CryptGetKeyParam, CryptHashData, CryptHashSessionKey, CryptSetKeyParam, CryptDeriveKey в MS CryptoAPI 2.0