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

Уведомление

Icon
Error

14 Страницы«<34567>»
Опции
К последнему сообщению К первому непрочитанному
Offline SeregaZ  
#41 Оставлено : 5 августа 2012 г. 6:16:47(UTC)
SeregaZ

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

Группы: Участники
Зарегистрирован: 23.06.2012(UTC)
Сообщений: 65
Откуда: Almaty, KZ

он мне так и установил первый раз в личные :) его потом удалил, добавил перескок на второй сертификат и уже импорт второго.

сами эти сертификаты генерируются сайтом. может быть это все таки правило, что первый сертификат всегда GOSTCA а второй уже рнн - тот что мне и нужен? плохо разбираюсь я в этих переменных... прикручивать CertGetNameString совсем нет сил... сейчас вываливается все к черту что-то там с доступом к памяти...

потом еще момент - при импорте CertAddCertificateContextToStore, в момент когда моего сертификата нет в системе, выдает ошибку Объект или свойство уже существует, но импорт всеже производит куда надо и все вроде работает.
при повторном запуске кода, когда сертификат уже установлен - этой ошибки нет. если удалить вручную сертификат и опять запустить - опять будет эта ошибка. в CertAddCertificateContextToStore использовал #CERT_STORE_ADD_USE_EXISTING - я так понял означает "добавить мой сертификат, или если такой сертификат уже был, то использовать старый." правильно ли? или какую мне надо использовать команду для подобного действия - если уже установлен - использовать старый, если нет такого - то записать.

Отредактировано пользователем 5 августа 2012 г. 6:42:55(UTC)  | Причина: Не указана

Offline SeregaZ  
#42 Оставлено : 5 августа 2012 г. 6:23:39(UTC)
SeregaZ

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

Группы: Участники
Зарегистрирован: 23.06.2012(UTC)
Сообщений: 65
Откуда: Almaty, KZ

Цитата:
а если его не будет в доверенных корневых (чистая машина)? в браузере потом не возникнет проблем (в той ИС, где требуется... )?

возникнет :) по идее не пустит клиента... значит его тоже надо будет куда надо дописывать? ну тут попроще вроде. механизм уже более понятный - просто место назначения переуказать и запустить ту функцию два раза. остается значит все-таки CertGetNameString... пойду спрошу на буржуйском форуме про переменные... только тухлая это затея - там отвечают раз в полгода, или вовсе не отвечают - сам язык программирования то мало знаменит, а такая подтема как крипто апи там и вовсе никому не известная.

и хорошо бы что это был бы закон что первый гостса всегда, а второй всегда рнн.
Offline SeregaZ  
#43 Оставлено : 5 августа 2012 г. 6:25:58(UTC)
SeregaZ

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

Группы: Участники
Зарегистрирован: 23.06.2012(UTC)
Сообщений: 65
Откуда: Almaty, KZ

безумная идея посетила... запустить цикл на чтение всех сертификатов внутри файла, и добавления всех найденных сначала в личные, а потом доверенные :) тогда 100% каждый сертификат будет в ему нужном месте... просто помимо этого будет еще куча ненужных сертификатов :)))))
Offline SeregaZ  
#44 Оставлено : 5 августа 2012 г. 7:07:01(UTC)
SeregaZ

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

Группы: Участники
Зарегистрирован: 23.06.2012(UTC)
Сообщений: 65
Откуда: Almaty, KZ

а все... пока строчил письмо на том форуме - делал семпл который не работает для форума. пока его до ума доводил и выяснилось что не правильно делал вызов функции. там в мдсн внизу маленькую приписку надо было читать:
Unicode and ANSI names
CertGetNameStringW (Unicode) and CertGetNameStringA (ANSI)

вот и вываливалась программа оказывается вовсе не из-за переменных, а из-за того что функция по сути была объявлена, а не определена.


так что остался только один вопрос - что мне необходимо использовать вместо #CERT_STORE_ADD_USE_EXISTING в CertAddCertificateContextToStore? по замыслу если сертификат есть, то использовать старый, если сертификата нет - добавлять мой.
Offline Андрей Писарев  
#45 Оставлено : 5 августа 2012 г. 12:56:19(UTC)
Андрей *

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

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

Сказал «Спасибо»: 584 раз
Поблагодарили: 2320 раз в 1818 постах
SeregaZ написал:

и хорошо бы что это был бы закон что первый гостса всегда, а второй всегда рнн.


Для того ЦС скорее всего так и будет... всегда : 1 - ЦС (GOSTCA), 2 - пользовательский (РНН)
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#46 Оставлено : 5 августа 2012 г. 13:57:36(UTC)
Андрей *

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

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

Сказал «Спасибо»: 584 раз
Поблагодарили: 2320 раз в 1818 постах
SeregaZ написал:


так что остался только один вопрос - что мне необходимо использовать вместо #CERT_STORE_ADD_USE_EXISTING в CertAddCertificateContextToStore? по замыслу если сертификат есть, то использовать старый, если сертификата нет - добавлять мой.



на выбор попробовать:
CERT_STORE_ADD_NEW

CERT_STORE_ADD_REPLACE_EXISTING ?

Цитата:
Если ссылка на соответствующий сертификат существует, то существующий сертификат или ссылка удаляется,
а новый сертификат будет создан и добавлен в хранилище. Если соответствующий сертификат или ссылка на
соответствующий сертификат не существует, новая ссылка будет добавлена.

Отредактировано пользователем 5 августа 2012 г. 14:02:25(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline SeregaZ  
#47 Оставлено : 5 августа 2012 г. 17:56:35(UTC)
SeregaZ

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

Группы: Участники
Зарегистрирован: 23.06.2012(UTC)
Сообщений: 65
Откуда: Almaty, KZ

все параметры испробовал возвращают одно и тоже CertAddCertificateContextToStore Объект или свойство уже существует.
-2146885627

но сертификат вроде добавляется, грех жаловаться. однако эта ошибка все-таки смущает. выдает когда сертификата еще нет в системе. если же он установлен и запустить еще раз - то тогда ошибки нет, все чисто - это я использовал CERT_STORE_ADD_USE_EXISTING.

CERT_STORE_ADD_NEWER должен по идее обновить сертификат, если у него дата свежее? он выдает эту ошибку в обоих случаях и когда сертификата еще нет и когда уже установлен при повторной установке.
Offline Андрей Писарев  
#48 Оставлено : 5 августа 2012 г. 19:12:28(UTC)
Андрей *

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

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

Сказал «Спасибо»: 584 раз
Поблагодарили: 2320 раз в 1818 постах
т.е. и с CERT_STORE_ADD_REPLACE_EXISTING те же ошибки?


а как сертификат удаляется (последовательность действий) перед повторной программной установкой?

p.s. а если до "установки" перебрать в хранилище - может он реально "найдется"?

Отредактировано пользователем 5 августа 2012 г. 19:22:11(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline SeregaZ  
#49 Оставлено : 5 августа 2012 г. 20:20:15(UTC)
SeregaZ

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

Группы: Участники
Зарегистрирован: 23.06.2012(UTC)
Сообщений: 65
Откуда: Almaty, KZ

но ведь если сертификат установил, а потом еще раз запустил эту же установку - ошибки то нет. хотя она как раз должна быть, так как сертификат то существует. как-то оно на оборот работает :)

удаляю обычно в браузере, свойства обозревателя, содержание, сертификаты, личные удалить.

удалил с помощью certmgr.msc - аналогично ошибка.

запустил с CERT_STORE_ADD_REPLACE_EXISTING аналогично. в обоих случая ошибка. и в случае когда сертификат еще не установлен и когда установлен.

физически удалил файл в C:\Documents and Settings\Администратор\Application Data\Microsoft\SystemCertificates\My\Certificates аналогично ошибка.

указал другой сертификат, который еще не устанавливал - ошибка.
Offline Андрей Писарев  
#50 Оставлено : 5 августа 2012 г. 20:36:46(UTC)
Андрей *

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

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

Сказал «Спасибо»: 584 раз
Поблагодарили: 2320 раз в 1818 постах
SeregaZ написал:
но ведь если сертификат установил, а потом еще раз запустил эту же установку - ошибки то нет. хотя она как раз должна быть, так как сертификат то существует. как-то оно на оборот работает :)

удаляю обычно в браузере, свойства обозревателя, содержание, сертификаты, личные удалить.

удалил с помощью certmgr.msc - аналогично ошибка.

запустил с CERT_STORE_ADD_REPLACE_EXISTING аналогично. в обоих случая ошибка. и в случае когда сертификат еще не установлен и когда установлен.

физически удалил файл в C:\Documents and Settings\Администратор\Application Data\Microsoft\SystemCertificates\My\Certificates аналогично ошибка.

указал другой сертификат, который еще не устанавливал - ошибка.


и все это происходит на машине с Tumar CSP (кстати, какая версия?) или на чистой проверяешь. И сертификат какой RSA или ГОСТ (алгоритм открытого ключа)?

Отредактировано пользователем 5 августа 2012 г. 20:40:40(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
14 Страницы«<34567>»
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.