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

Уведомление

Icon
Error

4 Страницы«<234
Опции
К последнему сообщению К первому непрочитанному
Offline kemaev_andrey  
#31 Оставлено : 29 марта 2018 г. 15:39:34(UTC)
kemaev_andrey

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

Группы: Участники
Зарегистрирован: 30.05.2013(UTC)
Сообщений: 6
Российская Федерация

Сказал(а) «Спасибо»: 3 раз
показывает мою же ошибку "сертификат не найден", которая вызывается в этой процедуре

addressbook := CertOpenSystemStore(0, 'ADDRESSBOOK');
cert:=CertFindCertificateInStore(ADDRESSBOOK, X509_ASN_ENCODING or PKCS_7_ASN_ENCODING, 0, CERT_FIND_SUBJECT_STR, PChar(FriendCertComboBox.Text), nil);
if cert = nil then
begin
CertFreeCertificateContext(cert);
showmessage('Не найден сертификат');
exit;
end;

сертификаты там перечисляются
Offline kemaev_andrey  
#32 Оставлено : 29 марта 2018 г. 15:41:32(UTC)
kemaev_andrey

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

Группы: Участники
Зарегистрирован: 30.05.2013(UTC)
Сообщений: 6
Российская Федерация

Сказал(а) «Спасибо»: 3 раз
прикладываю во вложение сам проект

Отредактировано пользователем 30 марта 2018 г. 8:30:27(UTC)  | Причина: Не указана

Offline Андрей Писарев  
#33 Оставлено : 29 марта 2018 г. 16:44:42(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,629
Мужчина
Российская Федерация

Сказал «Спасибо»: 494 раз
Поблагодарили: 2034 раз в 1578 постах
В коде есть ошибки.
Да и сама реализация в виде выбора из списка, в котором только CommonName - неправильная.

Что будет при подписании, если у меня несколько сертификатов с одинаковыми владельцами (срок действия разный\разные УЦ\CSP и т.п.) ?
Что будет при шифровании, если у меня несколько сертификатов с одинаковыми владельцами (срок действия разный\разные УЦ и т.п.) ?

Подсказка:
выводить более детальную информацию, а искать более точно, по CERT_FIND_HASH.

Подсказка2:
Временно поставить CERT_FIND_ANY и получить еще новую ошибку?

В вызов CryptAcquireContext - не рекомендуется вшивать имя и тип криптопровайдера,
в 2019 код окажется не рабочим или если на ПК будет другой CSP...

Подсказка3:
Для чего существует двойной вызов CryptEncrypt? И почему нет выделения памяти после первого вызова?
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#34 Оставлено : 29 марта 2018 г. 16:52:36(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,629
Мужчина
Российская Федерация

Сказал «Спасибо»: 494 раз
Поблагодарили: 2034 раз в 1578 постах
Предлагаю открыть пример из SDK (samples\CSP\CryptMessages\)
И работать с высокоуровневой функцией - CryptEncryptMessage
Техническую поддержку оказываем тут
Наша база знаний
Offline kemaev_andrey  
#35 Оставлено : 29 марта 2018 г. 17:07:11(UTC)
kemaev_andrey

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

Группы: Участники
Зарегистрирован: 30.05.2013(UTC)
Сообщений: 6
Российская Федерация

Сказал(а) «Спасибо»: 3 раз
заменил CERT_FIND_ANY, ошибка та же.... а рабочих примеров с CryptEncryptMessage конкретно с выбором серта из хранилища не находмл... или плохо искал, подскажите плиз конкретным кодом
Offline Андрей Писарев  
#36 Оставлено : 29 марта 2018 г. 17:11:06(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,629
Мужчина
Российская Федерация

Сказал «Спасибо»: 494 раз
Поблагодарили: 2034 раз в 1578 постах
Автор: kemaev_andrey Перейти к цитате
заменил CERT_FIND_ANY, ошибка та же.... а рабочих примеров с CryptEncryptMessage конкретно с выбором серта из хранилища не находмл... или плохо искал, подскажите плиз конкретным кодом


Код в SDK есть.
Функция с комментариями - GetRecipientCert
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#37 Оставлено : 29 марта 2018 г. 17:13:38(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,629
Мужчина
Российская Федерация

Сказал «Спасибо»: 494 раз
Поблагодарили: 2034 раз в 1578 постах
Первые ссылки в поиске или на форуме.
Техническую поддержку оказываем тут
Наша база знаний
Offline kemaev_andrey  
#38 Оставлено : 30 марта 2018 г. 12:59:09(UTC)
kemaev_andrey

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

Группы: Участники
Зарегистрирован: 30.05.2013(UTC)
Сообщений: 6
Российская Федерация

Сказал(а) «Спасибо»: 3 раз
В коде на си все замечательно, но не могу привести типы данных к паскалевским значениям. Переучиваться на другой язык нет возможности пока. Подскажите, как эта функция CryptEncryptMessage будет на делфи... поиск использовал, однако конкретно в моем случае не подошло почему-то
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
4 Страницы«<234
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.