// Инициализировать криптопровайдер
// Сгенерировать сессионный ключ
// Получить дескриптор открытого ключа получателя
// Определить размер памяти под ключ
CryptExportKey( hSessionKey, 
	hReceiverPublicKey, // открытый ключ получателя
			    SIMPLEBLOB, 
    0,
    0, 
    &dwSessionKeyLen));
	BYTE * pbSessionKey = new BYTE[dwSessionKeyLen];
// Зашифровать сессионный ключ
CryptExportKey( hSessionKey,
                 HReceiverPublicKey,
		     SIMPLEBLOB, 
                             0, 
                             pbSessionKey,
    &dwSessionKeyLen));

Поделитесь материалом с коллегами и друзьями