Форум КриптоПро
»
Общие вопросы
»
Общие вопросы
»
подскажите по проблеме импорта сертификата в браузер
Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.06.2012(UTC) Сообщений: 65 Откуда: Almaty, KZ
|
он мне так и установил первый раз в личные :) его потом удалил, добавил перескок на второй сертификат и уже импорт второго. сами эти сертификаты генерируются сайтом. может быть это все таки правило, что первый сертификат всегда GOSTCA а второй уже рнн - тот что мне и нужен? плохо разбираюсь я в этих переменных... прикручивать CertGetNameString совсем нет сил... сейчас вываливается все к черту что-то там с доступом к памяти... потом еще момент - при импорте CertAddCertificateContextToStore, в момент когда моего сертификата нет в системе, выдает ошибку Объект или свойство уже существует, но импорт всеже производит куда надо и все вроде работает. при повторном запуске кода, когда сертификат уже установлен - этой ошибки нет. если удалить вручную сертификат и опять запустить - опять будет эта ошибка. в CertAddCertificateContextToStore использовал #CERT_STORE_ADD_USE_EXISTING - я так понял означает "добавить мой сертификат, или если такой сертификат уже был, то использовать старый." правильно ли? или какую мне надо использовать команду для подобного действия - если уже установлен - использовать старый, если нет такого - то записать. Отредактировано пользователем 5 августа 2012 г. 6:42:55(UTC)
| Причина: Не указана
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.06.2012(UTC) Сообщений: 65 Откуда: Almaty, KZ
|
Цитата:а если его не будет в доверенных корневых (чистая машина)? в браузере потом не возникнет проблем (в той ИС, где требуется... )? возникнет :) по идее не пустит клиента... значит его тоже надо будет куда надо дописывать? ну тут попроще вроде. механизм уже более понятный - просто место назначения переуказать и запустить ту функцию два раза. остается значит все-таки CertGetNameString... пойду спрошу на буржуйском форуме про переменные... только тухлая это затея - там отвечают раз в полгода, или вовсе не отвечают - сам язык программирования то мало знаменит, а такая подтема как крипто апи там и вовсе никому не известная. и хорошо бы что это был бы закон что первый гостса всегда, а второй всегда рнн.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.06.2012(UTC) Сообщений: 65 Откуда: Almaty, KZ
|
безумная идея посетила... запустить цикл на чтение всех сертификатов внутри файла, и добавления всех найденных сначала в личные, а потом доверенные :) тогда 100% каждый сертификат будет в ему нужном месте... просто помимо этого будет еще куча ненужных сертификатов :)))))
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.06.2012(UTC) Сообщений: 65 Откуда: Almaty, KZ
|
а все... пока строчил письмо на том форуме - делал семпл который не работает для форума. пока его до ума доводил и выяснилось что не правильно делал вызов функции. там в мдсн внизу маленькую приписку надо было читать: Unicode and ANSI names CertGetNameStringW (Unicode) and CertGetNameStringA (ANSI)
вот и вываливалась программа оказывается вовсе не из-за переменных, а из-за того что функция по сути была объявлена, а не определена.
так что остался только один вопрос - что мне необходимо использовать вместо #CERT_STORE_ADD_USE_EXISTING в CertAddCertificateContextToStore? по замыслу если сертификат есть, то использовать старый, если сертификата нет - добавлять мой.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,844   Сказал «Спасибо»: 584 раз Поблагодарили: 2320 раз в 1818 постах
|
SeregaZ написал: и хорошо бы что это был бы закон что первый гостса всегда, а второй всегда рнн. Для того ЦС скорее всего так и будет... всегда : 1 - ЦС (GOSTCA), 2 - пользовательский (РНН) |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 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)
| Причина: Не указана |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.06.2012(UTC) Сообщений: 65 Откуда: Almaty, KZ
|
все параметры испробовал возвращают одно и тоже CertAddCertificateContextToStore Объект или свойство уже существует. -2146885627 но сертификат вроде добавляется, грех жаловаться. однако эта ошибка все-таки смущает. выдает когда сертификата еще нет в системе. если же он установлен и запустить еще раз - то тогда ошибки нет, все чисто - это я использовал CERT_STORE_ADD_USE_EXISTING.
CERT_STORE_ADD_NEWER должен по идее обновить сертификат, если у него дата свежее? он выдает эту ошибку в обоих случаях и когда сертификата еще нет и когда уже установлен при повторной установке.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,844   Сказал «Спасибо»: 584 раз Поблагодарили: 2320 раз в 1818 постах
|
т.е. и с CERT_STORE_ADD_REPLACE_EXISTING те же ошибки? а как сертификат удаляется (последовательность действий) перед повторной программной установкой? p.s. а если до "установки" перебрать в хранилище - может он реально "найдется"?Отредактировано пользователем 5 августа 2012 г. 19:22:11(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.06.2012(UTC) Сообщений: 65 Откуда: Almaty, KZ
|
но ведь если сертификат установил, а потом еще раз запустил эту же установку - ошибки то нет. хотя она как раз должна быть, так как сертификат то существует. как-то оно на оборот работает :)
удаляю обычно в браузере, свойства обозревателя, содержание, сертификаты, личные удалить.
удалил с помощью certmgr.msc - аналогично ошибка.
запустил с CERT_STORE_ADD_REPLACE_EXISTING аналогично. в обоих случая ошибка. и в случае когда сертификат еще не установлен и когда установлен.
физически удалил файл в C:\Documents and Settings\Администратор\Application Data\Microsoft\SystemCertificates\My\Certificates аналогично ошибка.
указал другой сертификат, который еще не устанавливал - ошибка.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 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)
| Причина: Не указана |
|
|
|
|
Форум КриптоПро
»
Общие вопросы
»
Общие вопросы
»
подскажите по проблеме импорта сертификата в браузер
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close