Экспортирует симметричный ключ в зашифрованном виде.
Синтаксис
HRESULT ExportKey ( ICertificate *pVal, BSTR *pbData );
Function ExportKey ( _ pVal As ICertificate _ ) As String
Параметры
- pVal
-
[in] Сертификат получателя, в адрес которого будет зашифрован экспортируемый ключ.
- pbData
-
[out, retval] Данные, содержащие зашифрованный ключ, а также данные параметров шифрования и данные, необходимые для последующего расшифрования ключа с помощью метода ImportKey. Экспорт ключа производится с помощью вызова CryptExportKey(CALG_PRO_EXPORT) для сертификата с ключом ГОСТ Р 34.10-2001 или CryptExportKey(CALG_PRO12_EXPORT) для сертификата с ключом ГОСТ Р 34.10-2012. Данные возвращаются в виде строки шестнадцатеричных цифр, группами по две цифры на байт, разделённых пробелами. Данные содержат три компонента, разделённые символом ":":
-
Параметры шифрования ключа обмена. Компонент является результатом выполнения CryptGetKeyParam(KP_CIPHEROID).
-
Эфемерный открытый ключ, который использовался для выработки ключа обмена. Компонент является результатом выполнения CryptExportKey(PUBLICKEYBLOBEX).
-
Симметричный ключ, зашифрованный на ключе обмена. Компонент является результатом выполнения CryptExportKey(SIMPLEBLOB).
-
Возвращаемое значение
Возвращаемое значение имеет тип HRESULT. Значение S_OK означает успешное выполнение.
Параметры
- pVal
-
Сертификат получателя, в адрес которого будет зашифрован экспортируемый ключ.
Возвращаемое значение
Данные, содержащие зашифрованный ключ, а также данные параметров шифрования и данные, необходимые для последующего расшифрования ключа с помощью метода ImportKey. Экспорт ключа производится с помощью вызова CryptExportKey(CALG_PRO_EXPORT) для сертификата с ключом ГОСТ Р 34.10-2001 или CryptExportKey(CALG_PRO12_EXPORT) для сертификата с ключом ГОСТ Р 34.10-2012. Данные возвращаются в виде строки шестнадцатеричных цифр, группами по две цифры на байт, разделённых пробелами. Данные содержат три компонента, разделённые символом ":":
-
Параметры шифрования ключа обмена. Компонент является результатом выполнения CryptGetKeyParam(KP_CIPHEROID).
-
Эфемерный открытый ключ, который использовался для выработки ключа обмена. Компонент является результатом выполнения CryptExportKey(PUBLICKEYBLOBEX).
-
Симметричный ключ, зашифрованный на ключе обмена. Компонент является результатом выполнения CryptExportKey(SIMPLEBLOB).
Примечания
Метод ExportKey экспортирует симметричный ключ в зашифрованном виде.
Требования
Заголовочный файл | cadescom.h |
---|---|
Библиотека DLL | cadescom.dll |
Идентификаторы GUID | cadescom_i.c |
Минимальная версия продукта | 2.0 |