Форум КриптоПро
»
Средства криптографической защиты информации
»
Встраивание
»
Ошибка 0x80090009 при вызове CryptAcquireCertificatePrivateKey
Статус: Участник
Группы: Участники
Зарегистрирован: 09.04.2010(UTC) Сообщений: 16 Откуда: Москва
|
Здравствуйте. История следующая: ОС Win 2003 CSP КС2 3.06.4070 Сертификат лежит в "MY" в контексте компьютера, закрытый ключ есть, через диалог настроек CSP контейнер виден, ключ с сертификатом связан. Сертификат издан УЦ, работающем на том же CSP (на той же машине), т.е. алгоритмы правильные. ISAPI расширение выполняет следующие код (IIS работает под Local System): Код:
HCERTSTORE S = CertOpenStore(CERT_STORE_PROV_SYSTEM,X509_ASN_ENCODING|PKCS_7_ASN_ENCODING,
NULL,CERT_SYSTEM_STORE_LOCAL_MACHINE | CERT_STORE_READONLY_FLAG, L"MY");
settings_.pCert = CertFindCertificateInStore( S,X509_ASN_ENCODING|PKCS_7_ASN_ENCODING, 0,CERT_FIND_EXISTING,pC,NULL );
if(CryptAcquireCertificatePrivateKey( settings_.pCert, CRYPT_ACQUIRE_COMPARE_KEY_FLAG, NULL,&p_,&ks_,&free_provider_ ) == FALSE)
{
DWORD err = GetLastError(); // всегда попадаем сюда и получаем 0x80090009 "Invalid flags specified"
}
else
{
//......
}
Контейнер ключа имеет не пустой пароль, но диалог ввода пароля не появляется. Если вместо флага CRYPT_ACQUIRE_COMPARE_KEY_FLAG задать просто 0, ситуация не меняется. Этот же код работает совершенно нормально в Win2000 c CSP KC2 3.0.3293. Скажите, пожалуйста, в чем проблема? Отредактировано пользователем 10 апреля 2010 г. 0:36:53(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,405  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 720 раз в 624 постах
|
Это очень старая сборка CSP. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 09.04.2010(UTC) Сообщений: 16 Откуда: Москва
|
maxdm написал:Это очень старая сборка CSP. Т.е. эта сборка и не должна работать? А какую сборку надо использовать под Win 2003? Отредактировано пользователем 12 апреля 2010 г. 16:57:26(UTC)
| Причина: Не указана
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 09.04.2010(UTC) Сообщений: 16 Откуда: Москва
|
С версией 3.06.4455 не лучше. Получаю 0x80090019.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 29.12.2007(UTC) Сообщений: 348  Откуда: ООО "Крипто-Про"
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 09.04.2010(UTC) Сообщений: 16 Откуда: Москва
|
Спасибо, установил, но не помогло. Опять 0x80090019.
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,405  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 720 раз в 624 постах
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 09.04.2010(UTC) Сообщений: 16 Откуда: Москва
|
Пробовал с пустым паролем — то же самое. Я его потом его уже задал, чтоб посмотреть - будут у меня его спрашивать или нет?
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,405  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 720 раз в 624 постах
|
Цитата:start /b csptest -keyset -machine -container your_container_name -info -check и где находится контейнер? |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 09.04.2010(UTC) Сообщений: 16 Откуда: Москва
|
Получаю: Цитата: CSP (Type:75) v3.6.5355 KC2 Release Ver:3.6.5402 OS:Windows CPU:IA32 FastCode:READY,ENABLED. AcquireContext: OK. HCRYPTPROV: 1431456 GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider Container name: "TSA_KEYS"
Signature key is not available. Exchange key is available. HCRYPTKEY: 0x15fc20
CSP algorithms info: Type:Encrypt Name:'GOST 28147-89'(14) Long:'GOST 28147-89'(14) DefaultLen:256 MinLen:256 MaxLen:256 Prot:0 Algid:00026142
Type:Hash Name:'GOST R 34.11-94'(16) Long:'GOST R 34.11-94'(16) DefaultLen:256 MinLen:256 MaxLen:256 Prot:0 Algid:00032798
Type:Hash Name:'HMAC GOST 28147-89'(19) Long:'HMAC GOST 28147-89'(19) DefaultLen:32 MinLen:32 MaxLen:32 Prot:0 Algid:00032799
Type:Signature Name:'GOST R 34.10-2001'(18) Long:'GOST R 34.10-2001'(18) DefaultLen:512 MinLen:512 MaxLen:512 Prot:0 Algid:00011811
Type:Exchange Name:'Diffie-Hellman EL'(18) Long:'Diffie-Hellman EL'(18) DefaultLen:512 MinLen:512 MaxLen:512 Prot:0 Algid:00043556
Type:Exchange Name:'Diffie-Hellman EL'(18) Long:'Diffie-Hellman EL'(18) DefaultLen:512 MinLen:512 MaxLen:512 Prot:0 Algid:00043557
Key pair info: HCRYPTKEY: 0x15fc20 AlgID: CALG_DH_EL_SF = 0x0000aa24 (00043556): AlgClass: ALG_CLASS_KEY_EXCHANGE AlgType: ALG_TYPE_DH AlgSID: 36 KP_CERTIFICATE: Subject: C=RU, S=N/A, L=Moscow, O=Infosec, OU=DRPS, CN=TSA on srv-mail-strg Valid : 13.04.2010 - 13.04.2011 Issuer : DC=ru, DC=infosec, CN=CA 1 on srv-mail-strg
Check key passed.
Keys in container: exchange key Extensions (maxLength: 8): none Total: SYS: 0.016 sec USR: 0.016 sec UTC: 0.063 sec [ErrorCode: 0x00000000]
Не очень понятно, почему "Signature key is not available"? Назначения ключа Time Stamping (1.3.6.1.5.5.7.3.8), Code Signing (1.3.6.1.5.5.7.3.3).
|
|
|
|
Форум КриптоПро
»
Средства криптографической защиты информации
»
Встраивание
»
Ошибка 0x80090009 при вызове CryptAcquireCertificatePrivateKey
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close