Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро CSP 5.0
»
Массовая установка сертификата организации на всех пользователей windows
Статус: Новичок
Группы: Участники
Зарегистрирован: 14.05.2025(UTC) Сообщений: 5 
|
Привет. Windows server 2016. Крипто 5. Задача:установить сертификат организации на всех пользователях. Создал задачу в планировщик windows, и с помощью c:\program files\cripto pro\csp\certmgr.exe с параметрами -install -file c:\1\kmb5.pfx -container "\\\\.\\REGISTRY\\pfx-0602140b-2dd7-6202-0aa6030d90bc3629c" -pfx -autodist -pin 1 -newpin "" -carrier \\.\REGISTRY\\ ставиться в контейнер в реестр пользователя при входе в windows закрытый ключ и .cer в личные. Но если опять зайти под этим пользователем в Windows тоже ставится контейнер с другим именем контейнером. Тоесть в итоге если пользователь зайдёт в Windows 5 раз, у него будет 5 закрытых контейнеров с разными именами и с одним сертификатом. Но как сделать так, чтобы был один контейнер, либо не ставился другой контейнер если уже есть этот контейнер.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 31.05.2016(UTC) Сообщений: 2,630
Сказал(а) «Спасибо»: 611 раз Поблагодарили: 454 раз в 430 постах
|
Какой именно сценарий Вы преследуете? Дело ведь не просто в установке сертификата, верно? Какой сценарий использования ЭП у Вас предполагается?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,672   Сказал «Спасибо»: 572 раз Поблагодарили: 2301 раз в 1802 постах
|
Автор: Николай1987  Привет. Windows server 2016. Крипто 5. Задача:установить сертификат организации на всех пользователях. Создал задачу в планировщик windows, и с помощью c:\program files\cripto pro\csp\certmgr.exe с параметрами -install -file c:\1\kmb5.pfx -container "\\\\.\\REGISTRY\\pfx-0602140b-2dd7-6202-0aa6030d90bc3629c" -pfx -autodist -pin 1 -newpin "" -carrier \\.\REGISTRY\\ ставиться в контейнер в реестр пользователя при входе в windows закрытый ключ и .cer в личные. Но если опять зайти под этим пользователем в Windows тоже ставится контейнер с другим именем контейнером. Тоесть в итоге если пользователь зайдёт в Windows 5 раз, у него будет 5 закрытых контейнеров с разными именами и с одним сертификатом. Но как сделать так, чтобы был один контейнер, либо не ставился другой контейнер если уже есть этот контейнер. Здравствуйте. Варианты... 1. После импорта - ещё что-то сделать и проверять это, например, наличие файла в профиле (можно поискать по отпечатку) 2. Парсить список установленных сертификатов в личном хранилище и принимать решение о запуске импорта |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 31.05.2016(UTC) Сообщений: 2,630
Сказал(а) «Спасибо»: 611 раз Поблагодарили: 454 раз в 430 постах
|
3. Цитата:ONCE — указывает, что эта задача выполняется один раз в указанную дату и время. Создать сценарий, который добавит задачу пользователю и выполнит эту задачу единожды, ну или любым другим образом "заскриптовать". Но, лучше ответить не первые вопросы, т.к. возможно, что и варианты решения окажутся/ предложаться совсем другие. Отредактировано пользователем 14 мая 2025 г. 10:25:11(UTC)
| Причина: Не указана
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 14.05.2025(UTC) Сообщений: 5 
|
Заканчивается сертификат медицинской организации в медицинской организации, и врачи не смогут подписывать документы.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 31.05.2016(UTC) Сообщений: 2,630
Сказал(а) «Спасибо»: 611 раз Поблагодарили: 454 раз в 430 постах
|
Автор: Николай1987  Заканчивается сертификат медицинской организации в медицинской организации, и врачи не смогут подписывать документы. Сертификат - это сертификат, а не закрытый ключ. Из ваших обрывков текста, можно предположить, что: 0. Вы хотите использовать один единственный закрытый ключ, возможно руководителя, в одной многопользовательской системе; 1. Вы каким-то образом скопировали закрытый ключ в *.pfx, и теперь хотите импортировать его в реестр каждой УЗ серверной операционной системы; 2. Вы по какой-то причине считаете, что это является верным сценарием использования закрытого ключа. Пока предположения верны? Теперь Вы не знаете, каким образом можно единожды импортировать/ выполнить команду по импорту? Даже если предположить, что задача предложенная Вами выше отрабатывала бы верно, то каким количеством она бы выполнялась, бесконечно? Что мешает подготовить логон-сценарий, например, такого содержания: Код:@echo off
set "cpf=%userprofile%\AppData\Local\Crypto Pro\"
if not EXIST "%cpf%" (md "cpf")
if exist "%cpf%import.flag" (echo."Контейнер был импортирован ранее!") else (
echo."Импорт будет произведен!"
echo. > "%cpf%import.flag"
)
Следует добавить, что это всё небезопасно, конечно же. Всё же следует ещё раз повторить/ напомнить, что выполняемый Вами код на стороне пользователя не безопасный, т.к. Ваш *.pfx-файл доступен пользователю для чтения/ копирования на каком-то промежутке времени. Да и сам сценарий неподконтрольного использования закрытого ключа тоже вызывает вопросы. Отредактировано пользователем 14 мая 2025 г. 12:35:09(UTC)
| Причина: Не указана
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 14.05.2025(UTC) Сообщений: 5 
|
Сертификат - это файл с расширением .cer он находится в личных если посмотреть в certmgr.msc Этот сертификат ссылается на закрытый контейнер который находится в реестре Компьютер\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Crypto Pro\Settings\Users\S-1-5-21-3876620741-946775155-2407503899-500\Keys. Есть утилита от Крипто Про 5 Теперь Вы не знаете, каким образом можно единожды импортировать/ выполнить команду по импорту? -Да верно. Вот команда: c:\program files\cripto pro\csp\certmgr.exe с параметрами -install -file c:\1\kmb5.pfx -container "\\\\.\\REGISTRY\\pfx-0602140b-2dd7-6202-0aa6030d90bc3629c" -pfx -autodist -pin 1 -newpin "" -carrier \\.\REGISTRY\\ Но нужно выполнить эту команду 1 раз. Может наверное есть документация подробная с примерами утилиты c:\program files\cripto pro\csp\certmgr.exe ? Там может быть есть с каким то параметром ставить только 1 раз? А Логон сценария это где? в групповых политиках? Отредактировано пользователем 15 мая 2025 г. 4:21:22(UTC)
| Причина: Не указана
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 14.05.2025(UTC) Сообщений: 5 
|
Как бы этот первый вариант работает но будет много контейнеров в реестре, но его нужно как то доработать. Но думаю ещё есть второй вариант установка сертификата .cer (c помощью утилиты c:\program files\cripto pro\csp\certmgr.exe) и создание закрытого контейнера через .reg для каждого пользователя, а у каждого пользователя разных SID и RID
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 14.05.2025(UTC) Сообщений: 5 
|
2 способ можно скопировать папку pxf-xxx.000 с 6 файлами с расширением .key (закрытый контейнер) и потом можно извлечь из закрытого контейнера сертификат и установить в личные.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 31.05.2016(UTC) Сообщений: 2,630
Сказал(а) «Спасибо»: 611 раз Поблагодарили: 454 раз в 430 постах
|
Автор: Николай1987  2 способ можно Для обеспечения доступа к ключу можно нафантазировать несколько способов, попробуем... Когда ключ доступен на некоторых зарегистрированных носителях, например: Когда ключ не требуется "размножать" и он доступен в "единственном" экземпляре: - использовать токен на сервере (можно предположить, что это самый безопасный сценарий использования ключа); - использовать сетевой диск; - использовать флэш-накопитель; Когда ключ требуется "размножать" и он доступен во "множественных" экземплярах: - использовать выше указанный каталог "КриптоПро" в профиле пользователя "\\HDIMAGE"; - использовать реестр "КриптоПро" в профиле пользователя "\\REGISTRY"; Установку сертификата из уже доступного контейнера пользователю, тем более в Вашем сценарии он без ПИН'а, можно осуществлять командой, например: Код:"%ProgramFiles%\Crypto Pro\CSP\csptest.exe" -absorb -certs -autoprov
Когда требуется заморочиться импортом из *.pfx - команду Вы уже знаете, как ограничить исполнение этой команды одним разом, то один из возможных вариантов Вам уже был предложен, просто созданием и проверкой файла-флага, можно придумать и др. способы, например чтение личного хранилища и поиск сертификата по отпечатку: Код:@echo off
SetLocal EnableExtensions EnableDelayedExpansion
For /F "Tokens=1,2* Delims=:" %%a In ('"%ProgramFiles%\Crypto Pro\CSP\certmgr.exe" -list -store uMy ^| FindStr b19982a8d10f9f3265007e06f808e7c97fbf4b67 ^2^>nul') Do (
set "CertExist=%%b"
)
if DEFINED CertExist (echo."Сертификат с указанным отпечатком в хранилище присутствует, скорее всего *.pfx был импортирован ранее. Импорт *.pfx производиться не будет!") else (echo."Сертификат с указанным отпечатком в хранилище отсутствует. Импорт *.pfx будет произведен!")
Отредактировано пользователем 15 мая 2025 г. 10:47:59(UTC)
| Причина: Не указана
|
|
|
|
Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро CSP 5.0
»
Массовая установка сертификата организации на всех пользователей windows
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close