| ||||
| ||||
Подскажите, пожалуйста, где можно найти описание инсталлируемых функций, которые можно переопределять через CryptRegisterOIDFunction? В WinCrypt.h есть только несколько функций с их сигнатурами. Например, меня интересуют функции: CryptDllEncodePublicKeyAndParameters, CryptDllConvertPublicKeyInfo. Вообще, мне это понадобилось для того, чтобы экспортировать открытый ключ из провайдера в формат X509 PublicKeyInfo. Я переопределил функцию CryptDllExportPublicKeyInfoEx для идентификатора OID открытого ключа, но, при вызове CryptExportPublicKeyInfoEx из прикладного приложения, Windows не перенаправляет на переопределённую функцию, а похоже, что пробует сама извлечь открытый ключ из провайдера и, возможно, интерпретировать его как ключ RSA (возможно в виде BLOBHEADER+RSAPUBLICKEY блоба), что, конечно, не получается. Возвращает в итоге ошибку 2 (объект не найден). CryptoPro вовсе не переопределяет CryptDllExportPublicKeyInfoEx, но в то же время отлично экспортирует ключ (за счёт других функций? CryptDllEncodePublicKeyAndParameters?) в X509 PublicKeyInfo виде. Как сделать подобное? Также это относится и к личным ключам и другим параметрам. PS. Где можно изучить, как написать модуль TLS? | ||||
Ответы: | ||||
| ||||
Crypto Pro регистрирует функцию RNetEncodePublicKeyAndParameters в cpext.dll. Значит, они знают её сигнатуру. Именно в ней кодируются ключ и его параметры. | ||||
| ||||
Ответьте пожалуйста на этот вопрос. Срочно нужно узнать описание функции CryptDllEncodePublicKeyAndParameters. Ведь на КриптоПро кто-то знает это. | ||||