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

Уведомление

Icon
Error

3 Страницы123>
Опции
К последнему сообщению К первому непрочитанному
Offline akulema  
#1 Оставлено : 30 октября 2008 г. 18:11:23(UTC)
akulema

Статус: Активный участник

Группы: Участники
Зарегистрирован: 17.10.2008(UTC)
Сообщений: 70

И еще раз день добрый. Думал, что данная тема вопросов у меня не вызовет - ошибался. Тут сразу несколько вопросов возникло:

1) Какую необходимо использовать функцию.
2) Можно ли просмотреть ЭЦП в сертификате.
3) И можно ли узнать, подписан сертификат или нет.

Буду как всегда очень признателен =))
Offline Kirill Sobolev  
#2 Оставлено : 31 октября 2008 г. 13:49:16(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
1) CryptSignAndEncodeCertificate
2-3) Можно декодировать сертификат с помощью CryptDecodeObject(.., X509_CERT,..) и работать с полученной структурой CERT_SIGNED_CONTENT_INFO.
Техническую поддержку оказываем тут
Наша база знаний
Offline akulema  
#3 Оставлено : 31 октября 2008 г. 16:09:18(UTC)
akulema

Статус: Активный участник

Группы: Участники
Зарегистрирован: 17.10.2008(UTC)
Сообщений: 70

Хм, я думал, что данная функция только создает и кодирует сертификат, то есть все те поля, которые мы заполняли для CERT_INFO. Подпись сертификата также заполняется через одно из таких полей? Если да, то какое?
Offline Kirill Sobolev  
#4 Оставлено : 31 октября 2008 г. 17:16:35(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
Нет, в структуре CERT_INFO нет поля, содержащего подпись сертификата.
Техническую поддержку оказываем тут
Наша база знаний
Offline akulema  
#5 Оставлено : 31 октября 2008 г. 17:23:16(UTC)
akulema

Статус: Активный участник

Группы: Участники
Зарегистрирован: 17.10.2008(UTC)
Сообщений: 70

Тогда через что? Может еть какой-нибудь примерчик?
Offline Kirill Sobolev  
#6 Оставлено : 31 октября 2008 г. 18:36:19(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
Я же написал - через CryptSignAndEncodeCertificate. Пример есть в makecert.c.
Техническую поддержку оказываем тут
Наша база знаний
Offline akulema  
#7 Оставлено : 1 ноября 2008 г. 12:11:47(UTC)
akulema

Статус: Активный участник

Группы: Участники
Зарегистрирован: 17.10.2008(UTC)
Сообщений: 70

Спасибо.
Offline akulema  
#8 Оставлено : 5 ноября 2008 г. 20:28:34(UTC)
akulema

Статус: Активный участник

Группы: Участники
Зарегистрирован: 17.10.2008(UTC)
Сообщений: 70

Хотел еще раз убедиться, что понял все правильно. Для того, чтобы подписать созданный сертификат с использованием закрытого ключа центра сертификации необходимо:

1) Создать провайдер1 и сгенерировать с его помощью пару ключей. Открытый ключ отдать в структуру CERT_INFO.
2) Создать "временный" провайдер2 и загрузить в него с помощью CryptImportKey секретный ключ центра сертификации.
3) Вызвать CryptSignAndEncodeCertificate для провайдер2. Таким образом у нас должен получиться сертификат с сгенерированным открытым и подписанный при помощи секретного ключа центра сертификации.

Надеюсь, что все действительно так, а то я уже почти голову сломал =))


Только вот ещё в функцию CryptCreateHash для создания расширения szOID_SUBJECT_KEY_IDENTIFIER какой провайдер нужно использовать: провайдер1 или провайдер2 ?

Отредактировано пользователем 5 ноября 2008 г. 21:18:07(UTC)  | Причина: Не указана

Offline akulema  
#9 Оставлено : 5 ноября 2008 г. 21:28:16(UTC)
akulema

Статус: Активный участник

Группы: Участники
Зарегистрирован: 17.10.2008(UTC)
Сообщений: 70

Сформировав сертификат по способу, описанному постом выше получил сертификат, в котором написано : "Целостность этого сертификата не гарантирована. Возможно он изменен ил поврежден". Что это означает?

P.S. Хех, не посмотрел до конца. Написано, что цифровая подпись не действительна. получается, что я так и не подписал этот сертификат так как надо. Как же нужно то =(

Отредактировано пользователем 5 ноября 2008 г. 22:13:46(UTC)  | Причина: Не указана

Offline Kirill Sobolev  
#10 Оставлено : 6 ноября 2008 г. 14:08:04(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
Если сертификат был подписан ключем ЦС, то и для проверки подписи окну просмотра нужен этот ключ - сертификат ЦС должен быть установлен в соответствующее хранилище.
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
3 Страницы123>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.