Bug 5526

Summary: Клиент СЭД: не работает генерация ключей ЭЦП и запроса на сертификацию
Product: WINE@Etersoft Reporter: Александр Морозов <amorozov>
Component: Шифрование / ЭЦПAssignee: Александр Морозов <amorozov>
Status: CLOSED LATER QA Contact: Денис Баранов <baraka>
Severity: normal    
Priority: P5 CC: DjSpiker, lav
Version: 1.0.12   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on: 5528    
Bug Blocks: 5273    

Description Александр Морозов 2010-04-23 19:16:20 MSD
Кроме клиента СЭД надо поставить КриптоПро CSP 2.0. В настройках КриптоПро CSP надо установить считыватель "Реестр".

В cbank.exe Администрирование -> Криптозащита -> Генерация ключей ЭЦП и запроса на сертификацию. Заполняем поля форм и нажимаем "Далее". Снимаем галочку с "Распечатать заявку на получение сертификата ключа ЭЦП". Нажимаем "Выполнить". Получаем сообщение "ОШИБКА генерации #2. Переданы некорректные параметры"

Ошибка выводится также, если взять crypt32.dll и msasn1.dll из Win2000, только перед этим появляются окошки КриптоПро.
Comment 1 Александр Морозов 2010-04-23 20:09:13 MSD
Если скопировать dll из Win2000 до установки КриптоПро CSP, то ошибки не возникает.
Comment 2 Александр Морозов 2010-04-26 14:35:39 MSD
Если установка производится с wine-версией crypt32.dll, то не создаются некоторые ключи реестра.
Comment 3 Александр Морозов 2010-04-27 15:50:16 MSD
При генерации ключей ЭЦП и запроса на сертификацию с wine-версией crypt32:
.............
trace:crypt:CryptEncodeObject (0x00010001, "2.5.29.17", 0x49cd0c, (nil), 0x49c448)
fixme:cryptasn:CRYPT_AsnEncodeAltNameEntry name type 1 unimplemented
trace:crypt:CryptEncodeObject returning 0
trace:crypt:CryptEncodeObject (0x00010001, "2.5.29.17", 0x49cd0c, (nil), 0x49c43c)
fixme:cryptasn:CRYPT_AsnEncodeAltNameEntry name type 1 unimplemented
trace:crypt:CryptEncodeObject returning 0
trace:crypt:CryptEncodeObject (0x00010001, "2.5.29.2", 0x49c400, (nil), 0x49c3c0)
trace:crypt:CryptEncodeObject OID "2.5.29.2" not found or unimplemented, looking for DLL
trace:crypt:CryptInitOIDFunctionSet ("CryptDllEncodeObject", 0)
trace:crypt:CryptGetOIDFunctionAddress (0x1b72d0, 65537, "2.5.29.2", 00000000, 0x49c31c, 0x49c388)
trace:crypt:CryptGetOIDFunctionAddress returning 0
trace:crypt:CryptInitOIDFunctionSet ("CryptDllEncodeObjectEx", 0)
trace:crypt:CryptGetOIDFunctionAddress (0x1b0fe0, 65537, "2.5.29.2", 00000000, 0x49c31c, 0x49c388)
trace:crypt:CryptGetOIDFunctionAddress returning 0
trace:crypt:CryptEncodeObject returning 0
.............

Надо добавить поддержку CERT_ALT_NAME_OTHER_NAME в CRYPT_AsnEncodeAltNameEntry и релизовать (или использовать какую-то уже существующую) функцию для кодирования szOID_KEY_ATTRIBUTES ("2.5.29.2").
Comment 4 Александр Морозов 2011-07-12 21:21:10 MSK
Судя по тому, что написано в баге #5273, не актуально.