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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Andrei9385  
#1 Оставлено : 19 мая 2021 г. 18:35:15(UTC)
Andrei9385

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

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

Сказал(а) «Спасибо»: 15 раз
Поблагодарили: 1 раз в 1 постах
Здравствуйте. У бухгалтера ключ с сертификатом. Я экспортировал его в PFX.

При импорте на другой компьютер у меня появилась запись в реестре, а так же сам сертификат в личном контейнере.

Всякие диадоки, сбисы его видят и работают. Но КриптоПро в "Посмотреть сертификаты в контейнере" говорит: В контейнере закрытого ключа, отсутствуют сертификаты.

Пожалуйста, объясните, что происходит.

Я полагаю, у меня как-то не корректно работает закрытый ключ ? Но ведь в реестре всё есть. Выходит у меня сейчас только открытая часть, но её достаточно для каких-то сервисов, а в каких-то может не заработать ?
Offline Андрей *  
#2 Оставлено : 19 мая 2021 г. 22:08:23(UTC)
Андрей *

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

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

Сказал «Спасибо»: 388 раз
Поблагодарили: 1590 раз в 1223 постах
Здравствуйте.

Всё верно.
При импорте из PFX сертификат записался в Личное хранилище, но не записался в контейнер.
Экспортируйте сертификат в файл.cer и установите его через
Панель управления КриптоПРО CSP\Сервис\Установить личный сертификат.

Там есть опция для записи сертификата в контейнер.


Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
Andrei9385 оставлено 20.05.2021(UTC)
Offline Andrei9385  
#3 Оставлено : 20 мая 2021 г. 9:16:14(UTC)
Andrei9385

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

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

Сказал(а) «Спасибо»: 15 раз
Поблагодарили: 1 раз в 1 постах
Не понял. Он же есть в: Сертификаты-Личное-Сертификаты.

А как правильно с ключа экспортировать в PFX? Мне надо на терминальной ферме распространять бухам.

В чем щас у меня могут быть проблемы ?

И о каком контейнере речь?
Offline Андрей *  
#4 Оставлено : 20 мая 2021 г. 9:44:22(UTC)
Андрей *

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

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

Сказал «Спасибо»: 388 раз
Поблагодарили: 1590 раз в 1223 постах
Автор: Andrei9385 Перейти к цитате
Не понял. Он же есть в: Сертификаты-Личное-Сертификаты.

А как правильно с ключа экспортировать в PFX? Мне надо на терминальной ферме распространять бухам.

В чем щас у меня могут быть проблемы ?

И о каком контейнере речь?


Личное хранилище - это хранилище сертификатов в ОС Windows, там нет закрытых ключей.
Контейнер криптопровайдера - содержит закрытый ключ, может содержать личный сертификат (или цепочку).


Цитата:

И о каком контейнере речь?


о том самом, который создался при импорте из PFX
Цитата:

Но КриптоПро в "Посмотреть сертификаты в контейнере" говорит: В контейнере закрытого ключа, отсутствуют сертификаты.
Техническую поддержку оказываем тут
Наша база знаний
Offline two_oceans  
#5 Оставлено : 20 мая 2021 г. 11:33:42(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,345
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 90 раз
Поблагодарили: 314 раз в 296 постах
Автор: Andrei9385 Перейти к цитате
А как правильно с ключа экспортировать в PFX? Мне надо на терминальной ферме распространять бухам.
Если совсем кратко: суть в том, что хотя в PFX содержится и сертификат и закрытый ключ, при установке PFX создается контейнер с ключевой парой, но без сертификата, а сертификат из PFX ставится сразу в хранилище, с ссылкой на новый контейнер (часто можно прочитать совет вместе с PFX экспортировать сертификат).

Недобавление сертификата из PFX в новый контейнер очень часто спасает от накладок со сроком действия ключа, сравнительно с которыми мелочь вручную поставить сертификат в контейнер. Если захотите подробностей, то смотрите на форуме https://sedkazna.ru/foru...iew=category&catid=1 где в каждой инструкции кричат что не надо ставить сертификат в контейнер.

Вообще есть 2 подхода среди программистов - одни все ищут в хранилище, другие все ищут в контейнере. Первый подход прекрасно работает без сертификата в контейнере, но требует обязательной установки в хранилище. Второй наоборот требует установки сертификата в контейнер, а хранилище ни во что не ставит. Если поставить и туда и туда оба подхода будут работать.

UPD. Если контейнеры хранить в корне несистемного диска или считывателе директория возможно при помощи символических ссылок сделать контейнеры видимыми нескольким серверам. Либо прикрутить некую синхронизацию. Еще вариант при подключении по терминалу вставлять токен на клиентском месте (токены автоматом пробрасываются по RDP, от установки вручную в хранилище может спасти служба Распространение сертификатов).

Отредактировано пользователем 20 мая 2021 г. 11:44:59(UTC)  | Причина: Не указана

thanks 1 пользователь поблагодарил two_oceans за этот пост.
girorel оставлено 03.06.2021(UTC)
Offline Andrei9385  
#6 Оставлено : 2 июня 2021 г. 18:19:07(UTC)
Andrei9385

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

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

Сказал(а) «Спасибо»: 15 раз
Поблагодарили: 1 раз в 1 постах
Здравствуйте. Сегодня вот понадобился сертификат для 1С в контейнере личных сертификатов. То, что в реестре он, не достаточно. Хотя всякие сбисы, даиадоки и так принимают его.

Вопрос - как в итоге получить файл, который можно будет импортировать и в реестр и в контейнер ? Мне как-то надо установить всем бухам.

У меня сейчас PFX, но тот только в реестр делает. При импорте в личный контейнер в КриптоПро, говорит нет закрытого ключа.

Отредактировано пользователем 2 июня 2021 г. 18:20:31(UTC)  | Причина: Не указана

Offline Андрей Русев  
#7 Оставлено : 3 июня 2021 г. 9:29:45(UTC)
Андрей Русев

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

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 802

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 195 раз в 151 постах
Здравствуйте.
Как писал выше Андрей *, после установки pfx на Windows надо дополнительно экспортировать сертификат в cer-файл, а затем через панель управления КриптоПро CSP установить его.
Добавлю, что на unix-системах (Linux/macOS/iOS) при установке pfx-а сертификат сразу попадает в контейнер и это действие не требуется. В ближайшее время мы выложим финальный релиз КриптоПро CSP 5.0 R2 (сборка 5.0.12000 Kraken), где и на Windows будет такое же удобное поведение: дополнительных действий больше не потребуется.

Отредактировано пользователем 3 июня 2021 г. 9:30:58(UTC)  | Причина: Не указана

Официальная техподдержка. Официальная база знаний.
thanks 2 пользователей поблагодарили Андрей Русев за этот пост.
nickm оставлено 03.06.2021(UTC), girorel оставлено 03.06.2021(UTC)
Offline Andrei9385  
#8 Оставлено : 3 июня 2021 г. 11:01:19(UTC)
Andrei9385

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

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

Сказал(а) «Спасибо»: 15 раз
Поблагодарили: 1 раз в 1 постах
О, Андрей, благодарю Вас. Это чудесная новость !)
Offline two_oceans  
#9 Оставлено : 7 июня 2021 г. 0:31:21(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,345
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 90 раз
Поблагодарили: 314 раз в 296 постах
Автор: Андрей Русев Перейти к цитате
где и на Windows будет такое же удобное поведение: дополнительных действий больше не потребуется
К сожалению, в ряде случае такое поведение как раз неудобное, а удобнее как сейчас без сертификата в контейнере.

Причина: отсутствие штатного механизма удаления сертификата из контейнера либо замены сертификата в контейнере. Если сертификат уже установлен, то функция cryptoapi для установки сертификата возвращает ошибку, как и утилита csptest. При различных операциях с внутренним УЦ (для аккредитованных УЦ наверно не так актуально) возможен случай когда выпускается новый сертификат УЦ на тот же открытый ключ (кросс-сертификат, например, сертификат с откорректированными адресами или сертификат, подхватывающий клиентские сертификаты при смене ключа УЦ в Майкрософт УЦ) и в этом случае оставлять "предыдущую версию" сертификата в контейнере будет не самой хорошей идеей.

До сих пор проблема обходилась экспортом в PFX и импортом обратно, что удаляло сертификат из контейнера и можно было установить новый сертификат с тем же открытым ключом. На новой версии криптопровайдера предлагается в таком случае еще и заменять/удалять сертификат в самом PFX? Либо можно сохранить некий исполняемый файл (certmgr.exe ?) от другой версии криптопровайдера чтобы "по-старому" получать контейнер без сертификата? Или можно использовать некий ключ командной строки позволяющий пропустить импорт сертификата в контейнер?

Впрочем, если большинству пользователей удобно получать контейнер с сертификатом, то пусть будет так, однако прошу реализовать идею о штатном механизме удаления сертификата из контейнера либо замены сертификата в контейнере. Хотя бы в виде отдельной утилиты командной строки, напрямую работающей с header.key. Пробовал такую написать сам, но споткнулся на неопубликованном способе вычисления контрольной суммы - удалением сертификата из ASN1 структуры получился header.key идентичный сохраненному до импорта сертификата кроме 4 байт контрольной суммы.

К слову, если контейнер связан в хранилище с другим сертификатом (сертификат 1) чем установленный сертификат в контейнере (сертификат 2), открытый ключ одинаков в сертификатах 1 и 2, то какой сертификат предполагается экспортировать в PFX? Полагаю, если будет экспортировать в PFX сертификат из хранилища, а не из контейнера, то это как раз решит проблему замены. Ну а только в случае неудачного поиска по открытому ключу в хранилище использовать сертификат из контейнера.
Что-то вроде такого:
Дано: "старый" контейнер с установленным "старым" сертификатом.
1) выпускается "новый" сертификат (кросс-сертификат) на тот же открытый ключ;
2) "новый" сертификат устанавливается в хранилище, со ссылкой на тот же "старый" контейнер;
3) "старый" сертификат удаляется из хранилища для однозначного поиска по открытому ключу в хранилище;
4) экспортируется PFX с сертификатом из хранилища (в данном случае найден "новый" в хранилище);
5) импортируется PFX и получаем "новый" контейнер с "новым" сертификатом, плюс меняется ссылка на контейнер в хранилище;
6) тестируем "новый" контейнер и при необходимости удаляем "старый".

Отредактировано пользователем 7 июня 2021 г. 1:00:03(UTC)  | Причина: Не указана

Offline Агафьин Сергей  
#10 Оставлено : 7 июня 2021 г. 10:19:51(UTC)
Grey

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

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

Сказал «Спасибо»: 3 раз
Поблагодарили: 139 раз в 115 постах
Цитата:
Если сертификат уже установлен, то функция cryptoapi для установки сертификата возвращает ошибку, как и утилита csptest.

Добрый день.

Замена сертификата в контейнере - штатный механизм, который должен работать.
Уточните, пожалуйста, версию провайдера, в которой не удалось поставить новый сертификат взамен старого, ключевой носитель, ошибку и код/команду csptest.

Сейчас проверил на CSP 5.0 R2 - всё работает.
С уважением,
Сергей Агафьин,
Начальник отдела разработки ФКН.
Техническую поддержку оказываем здесь.
Наша база знаний.
Offline Andrei9385  
#11 Оставлено : 18 июня 2021 г. 9:16:15(UTC)
Andrei9385

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

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

Сказал(а) «Спасибо»: 15 раз
Поблагодарили: 1 раз в 1 постах
Андрей Русев, здравствуйте. Есть новости по новой версии КриптоПро?
Offline Андрей *  
#12 Оставлено : 18 июня 2021 г. 10:17:09(UTC)
Андрей *

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

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

Сказал «Спасибо»: 388 раз
Поблагодарили: 1590 раз в 1223 постах
Здравствуйте.

Автор: Andrei9385 Перейти к цитате
Андрей Русев, здравствуйте. Есть новости по новой версии КриптоПро?


сборка 5.0.12000 Kraken еще не опубликована.

Отслеживать изменения:
Цитата:
КриптоПро CSP 5.0 » Актуальная версия КриптоПро CSP 5.0

Опции\Отслеживать эту тему:
https://www.cryptopro.ru...&m=120172#post120172
Техническую поддержку оказываем тут
Наша база знаний
Offline Andrei9385  
#13 Оставлено : 1 июля 2021 г. 14:11:30(UTC)
Andrei9385

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

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

Сказал(а) «Спасибо»: 15 раз
Поблагодарили: 1 раз в 1 постах
Здравствуйте. Я видимо не дождусь ту обещанную версию, когда сертификат будет устанавливаться в контейнер КриптоПро.

Подскажите, есть ли команды, чтоб как в графике "Установить личный сертификат", реализовать через командную строку ?

Я нашел нужные ключи и автоматизировал процесс установки сертификатов через Powershell.

Start-Process -NoNewWindow -FilePath "C:\Program Files\Crypto Pro\CSP\certmgr.exe" -ArgumentList "-inst -store uMy -pfx -file ""\\domain.com\SYSVOL\domain.com\scripts\RDS\Certificates\$CertCompany.pfx"" -pin 123456789 -silent"

Осталось понять, могу ли я автоматизировать установку .cer в КриптоПро.

И еще вопрос, тут http://www.cryptopro.ru/...aspx?g=posts&t=17870 автору говорят использовать ключ -pfx, как я полагаю, он так же не импортирует сертификат в контейнер ? Это как минимум не работает.

Отредактировано пользователем 1 июля 2021 г. 14:12:08(UTC)  | Причина: Не указана

Offline Andrei9385  
#14 Оставлено : 2 июля 2021 г. 16:42:13(UTC)
Andrei9385

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

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

Сказал(а) «Спасибо»: 15 раз
Поблагодарили: 1 раз в 1 постах
Объясните мне, может я чего-то не понимаю.

certmgr: В режиме импорта pfx добавлена возможность установки закрытого ключа сертификата в заданный провайдер (CPCSP-8266).

Почему же не работает установка закрытого ключа в КриптоПро провайдер ?

Я всё же должен ждать обновления версии КриптоПро или я сейчас как-то могу автоматизировать процесс ?
Offline Andrei9385  
#15 Оставлено : 5 июля 2021 г. 9:53:08(UTC)
Andrei9385

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

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

Сказал(а) «Спасибо»: 15 раз
Поблагодарили: 1 раз в 1 постах
certmgr -inst -store uMy -file "C:\Users\User\Desktop\re.cer" -cont "2020-08-10 10-42-23 Общество с ограниченной ответственностью РЕ - Copy"

[ErrorCode: 0x00000000]

Выполнилось успешно, но сертификата так и нет в контейнере.

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

Отредактировано пользователем 5 июля 2021 г. 11:03:14(UTC)  | Причина: Не указана

Offline Andrei9385  
#16 Оставлено : 5 июля 2021 г. 11:03:04(UTC)
Andrei9385

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

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

Сказал(а) «Спасибо»: 15 раз
Поблагодарили: 1 раз в 1 постах
В общем догуглился. Нашел не задокументированный ключ в теме: http://www.cryptopro.ru/...aspx?g=posts&t=18296 и всё заработало вот так:

certmgr.exe -install -store uMy -file "C:\Users\User\Desktop\RE.cer" -certificate -container "2020-08-10 10-42-23 Общество с ограниченной ответственностью РЕ - Copy" -silent -inst_to_cont

Отредактировано пользователем 5 июля 2021 г. 11:09:57(UTC)  | Причина: Не указана

Offline Максим Коллегин  
#17 Оставлено : 14 июля 2021 г. 10:29:28(UTC)
Максим Коллегин

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

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

Сказал «Спасибо»: 17 раз
Поблагодарили: 606 раз в 541 постах
Автор: two_oceans Перейти к цитате
Автор: Андрей Русев Перейти к цитате
где и на Windows будет такое же удобное поведение: дополнительных действий больше не потребуется
К сожалению, в ряде случае такое поведение как раз неудобное, а удобнее как сейчас без сертификата в контейнере.

Причина: отсутствие штатного механизма удаления сертификата из контейнера либо замены сертификата в контейнере. Если сертификат уже установлен, то функция cryptoapi для установки сертификата возвращает ошибку, как и утилита csptest. При различных операциях с внутренним УЦ (для аккредитованных УЦ наверно не так актуально) возможен случай когда выпускается новый сертификат УЦ на тот же открытый ключ (кросс-сертификат, например, сертификат с откорректированными адресами или сертификат, подхватывающий клиентские сертификаты при смене ключа УЦ в Майкрософт УЦ) и в этом случае оставлять "предыдущую версию" сертификата в контейнере будет не самой хорошей идеей.

До сих пор проблема обходилась экспортом в PFX и импортом обратно, что удаляло сертификат из контейнера и можно было установить новый сертификат с тем же открытым ключом. На новой версии криптопровайдера предлагается в таком случае еще и заменять/удалять сертификат в самом PFX? Либо можно сохранить некий исполняемый файл (certmgr.exe ?) от другой версии криптопровайдера чтобы "по-старому" получать контейнер без сертификата? Или можно использовать некий ключ командной строки позволяющий пропустить импорт сертификата в контейнер?

Впрочем, если большинству пользователей удобно получать контейнер с сертификатом, то пусть будет так, однако прошу реализовать идею о штатном механизме удаления сертификата из контейнера либо замены сертификата в контейнере. Хотя бы в виде отдельной утилиты командной строки, напрямую работающей с header.key. Пробовал такую написать сам, но споткнулся на неопубликованном способе вычисления контрольной суммы - удалением сертификата из ASN1 структуры получился header.key идентичный сохраненному до импорта сертификата кроме 4 байт контрольной суммы.

К слову, если контейнер связан в хранилище с другим сертификатом (сертификат 1) чем установленный сертификат в контейнере (сертификат 2), открытый ключ одинаков в сертификатах 1 и 2, то какой сертификат предполагается экспортировать в PFX? Полагаю, если будет экспортировать в PFX сертификат из хранилища, а не из контейнера, то это как раз решит проблему замены. Ну а только в случае неудачного поиска по открытому ключу в хранилище использовать сертификат из контейнера.
Что-то вроде такого:
Дано: "старый" контейнер с установленным "старым" сертификатом.
1) выпускается "новый" сертификат (кросс-сертификат) на тот же открытый ключ;
2) "новый" сертификат устанавливается в хранилище, со ссылкой на тот же "старый" контейнер;
3) "старый" сертификат удаляется из хранилища для однозначного поиска по открытому ключу в хранилище;
4) экспортируется PFX с сертификатом из хранилища (в данном случае найден "новый" в хранилище);
5) импортируется PFX и получаем "новый" контейнер с "новым" сертификатом, плюс меняется ссылка на контейнер в хранилище;
6) тестируем "новый" контейнер и при необходимости удаляем "старый".

Установка нового сертификата в контейнер работала всегда, только он должен соответствовать ключу.
Экспорт в pfx работает с сертификатом в хранилище в известных мне утилитах, для экспорта сертификата из контейнера нужно написать несколько строк кода.
Также, взяв за основу пример копирования ключа из SDK, несложно написать копирование контейнера без сертификата.
Отмечу, что контейнер без сертификата обладает неудобным свойством — из него нельзя получить открытый ключ без ввода пин-кода.
Знания в базе знаний, поддержка в техподдержке
thanks 2 пользователей поблагодарили Максим Коллегин за этот пост.
Андрей * оставлено 14.07.2021(UTC), Санчир Момолдаев оставлено 14.07.2021(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.