Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline shadom  
#1 Оставлено : 6 июля 2010 г. 0:23:19(UTC)
shadom

Статус: Новичок

Группы: Участники
Зарегистрирован: 09.10.2009(UTC)
Сообщений: 6
Откуда: Ульяновск

Здравствуйте возникла проблема функция CryptAcquireContext всегда возвращает false.

Сборка: Windows Server 2003 Enterprise Edition RC2, CryptoPro 3.6 KC1

Пожалуйста помогите, потому что под XP тот же код работает нормально.

Вод пример вызова функции:
if (CryptAcquireContext(out hCryptoProvider, CONTEINER, null, 75, 0)) {....
В качестве константы CONTEINER передается имя контейнера, в котором установлен сертификат. При просмотре контейнера через сервис CryptoPro сертификат успешно определяется...
Offline stapter  
#2 Оставлено : 6 июля 2010 г. 13:09:46(UTC)
stapter

Статус: Участник

Группы: Участники
Зарегистрирован: 23.06.2010(UTC)
Сообщений: 10
Откуда: Санкт-Петербург

А что GetLastError() возвращает?

DWORD err = GetLastError();
char Buf[256];
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,NULL,err,
MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT),(LPTSTR)Buf,sizeof(Buf),NULL);
Offline shadom  
#3 Оставлено : 6 июля 2010 г. 14:30:28(UTC)
shadom

Статус: Новичок

Группы: Участники
Зарегистрирован: 09.10.2009(UTC)
Сообщений: 6
Откуда: Ульяновск

GetLastError() возвращает "Набор ключей не существует"
Offline stapter  
#4 Оставлено : 6 июля 2010 г. 15:48:23(UTC)
stapter

Статус: Участник

Группы: Участники
Зарегистрирован: 23.06.2010(UTC)
Сообщений: 10
Откуда: Санкт-Петербург

Судя по ошибке, в W2003 у тебя такого CONTEINER нет (вернее он его не находит), а в XP есть. Операционки то разные :)
Может проблема в кодировке, а может CSP никак не связан с твоим контейнером...

Отредактировано пользователем 6 июля 2010 г. 15:53:33(UTC)  | Причина: Не указана

Offline shadom  
#5 Оставлено : 6 июля 2010 г. 16:13:10(UTC)
shadom

Статус: Новичок

Группы: Участники
Зарегистрирован: 09.10.2009(UTC)
Сообщений: 6
Откуда: Ульяновск

Контейнер существует, и сертификат к нему привязан, т.к. в крипто про CSP на вкладке Сервис контейнр и сертификат определяются.

Отредактировано пользователем 6 июля 2010 г. 16:13:45(UTC)  | Причина: Не указана

Offline shadom  
#6 Оставлено : 6 июля 2010 г. 21:17:41(UTC)
shadom

Статус: Новичок

Группы: Участники
Зарегистрирован: 09.10.2009(UTC)
Сообщений: 6
Откуда: Ульяновск

Забыл упоминуть не маловажный момент функция вызывается из скрипта на C# под IIS 6, проблема думаю именно в том что IIS нехватает прав чтобы обратиться к заданому контейнеру.... Если кто сталкивался с этой проблемой подскажите куда копатьBrick wall
Offline Максим Коллегин  
#7 Оставлено : 6 июля 2010 г. 21:30:28(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,393
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 37 раз
Поблагодарили: 717 раз в 621 постах
Ключ локальной машины? Дайте права .network servicу на подключ реестра с ключом.
Знания в базе знаний, поддержка в техподдержке
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.