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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline Дмитрий Портненков  
#1 Оставлено : 27 октября 2010 г. 13:56:12(UTC)
Дмитрий Портненков

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

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

Не получается осуществить проверку подписи CRL. Накрапал код, но как-то странно он себя ведет...
Offline Дмитрий Портненков  
#2 Оставлено : 27 октября 2010 г. 14:07:11(UTC)
Дмитрий Портненков

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

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

как то не получается код добавить, ошибка сервера пишет при отправке, ща что-нить придумаю
Вложение(я):
code.txt (2kb) загружен 35 раз(а).

У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
Offline Дмитрий Портненков  
#3 Оставлено : 27 октября 2010 г. 14:11:38(UTC)
Дмитрий Портненков

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

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

Все функции работают нормально, возвращают true, GetLastError() = 0. НО после CryptVerifyCertificateSignature, которая также возвращает true, GetLastError() говорит 0x0000007f, а это у нас "The specified procedure could not be found."
Вопрос: что я делаю не так?
Offline Дмитрий Портненков  
#4 Оставлено : 27 октября 2010 г. 14:12:16(UTC)
Дмитрий Портненков

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

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

Вывод у программки такой:
CryptQueryObject(CRL): dwError: 0
CryptQueryObject(CERT): dwError: 0
CryptVerifyCertificateSignatureEx: dwError: 127
Press any key to continue . . .
Offline Kirill Sobolev  
#5 Оставлено : 27 октября 2010 г. 14:59:10(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
Возможно дело во внутренней реализации CryptVerifyCertificateSignature.
CryptVerifyCertificateSignatureEx себя также ведет?
Техническую поддержку оказываем тут
Наша база знаний
Offline Дмитрий Портненков  
#6 Оставлено : 27 октября 2010 г. 19:52:01(UTC)
Дмитрий Портненков

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

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

Да абсолютно также, мне интересно, сам алгоритм я правильно выбрал, получая структуры CERT_PUBLIC_KEY_INFO и pCrlContext->pbCrlEncoded их не надо декодировать дополнительно, нужно прямо в таком виде использовать?
Offline Дмитрий Портненков  
#7 Оставлено : 27 октября 2010 г. 19:52:33(UTC)
Дмитрий Портненков

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

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

Чтобы продолжая свои эксперименты я был хотя бы уверен в исходных данных...
Offline Kirill Sobolev  
#8 Оставлено : 27 октября 2010 г. 21:02:27(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
Да, все правильно.
Чтобы убедиться можете шестнадцатиричным редактором внутри CRL что-нибудь поменять, дату например и после этого проверить подпись.
Или проверить подпись на другом ключе.
Техническую поддержку оказываем тут
Наша база знаний
Offline Дмитрий Портненков  
#9 Оставлено : 27 октября 2010 г. 21:14:34(UTC)
Дмитрий Портненков

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

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

Попробую
Offline Дмитрий Портненков  
#10 Оставлено : 28 октября 2010 г. 16:11:33(UTC)
Дмитрий Портненков

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

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

Попробовал, выдает всё тот же код ошибки 0x0000007f "The specified procedure could not be found.". Однако, если заведомо ввести неверные данные, к примеру подсунуть неверный сертификат УЦ, то функция вполне адекватно возвращает false, а GetLastError() выдает 0x80090006 "Подпись не верна".
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.