Войти

Показать полную графическую версию : [решено] Установка сертификатов в автоматическом режиме


Azatot88
07-06-2013, 12:29
Добры день! Никак не получается у меня решить проблему с автоматической установкой сертификатов.

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

certmgr.exe -add -all C:\Users\%username%\Documents\prv_key.pfx -s -r currentUser My

В результате выдается такая ошибка:

Error: Failed to open the source store
CertMgr Failed

Подскажите пожалуйста, может кто сталкивался с такой проблемой, как её решить?

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

Буду очень признателен за помощь!

Georgio
07-06-2013, 12:47
%username% » -- а если имена с пробелами?

Правильно так: "C:\Users\%username%\Documents\prv_key.pfx"

Iska
07-06-2013, 13:38
Azatot88, кодировка пакетного файла OEM/866? И правильнее — не «C:\Users\%username%», а «%UserProfile%».

P.S. Смотреть, что не так с командной строкой запускаемого процесса удобно в Process Monitor, выставив фильтр на Operation → CreateProcess.

Azatot88
07-06-2013, 13:47
Правильно так:
Код:
"C:\Users\%username%\Documents\prv_key.pfx" »

У меня так и написано. Ничего страшного я думаю, так как имена с пробелами исключены.

Azatot88, кодировка пакетного файла OEM/866? »

Нет, кодировка ANSI/1251

Iska
07-06-2013, 15:02
Если имена в кириллице (и путь к профилю содержит кириллицу) — сохраните пакетный файл в кодировке OEM/866.

Azatot88
08-06-2013, 12:57
Если имена в кириллице (и путь к профилю содержит кириллицу) — сохраните пакетный файл в кодировке OEM/866. »

Нет, все пути и имена только латиницей.

Iska
08-06-2013, 14:38
Увы. У меня нет «certmgr.exe», не могу воспроизвести Вашу ситуацию.

Georgio
08-06-2013, 15:05
[решено] Установка сертификатов в автоматическом режиме (http://forum.oszone.net/thread-80064.html)

Azatot88
08-06-2013, 15:33
Увы. У меня нет «certmgr.exe», не могу воспроизвести Вашу ситуацию. »

Небольшая утилитка, вот она:

Azatot88
08-06-2013, 15:36
[решено] Установка сертификатов в автоматическом режиме »

Спасибо, я читал эту тему, к сожалению она не дает решения.

Georgio
08-06-2013, 16:44
Azatot88, по-моему, Вы перепутали в команде источник и назначение. Попробуйте так: certmgr.exe -add -all -s -r currentUser My "C:\Users\%username%\Documents\prv_key.pfx"

Azatot88
08-06-2013, 19:34
Всем большое спасибо за помощь, нашел наилучшее решение в виде утилиты importpfx.exe.
И с её же помощью разрешилась проблема с паролем.

Запущенная в таком виде: importpfx.exe -f prv_key.pfx -p password -t User -s My Устанавливает сертификат в личное хранилище пользователя.

Как я понял проблема с использованием certmgr.exe и встроенной certutil была именно в том, что использовался для импорта сертификат с закрытым ключом с расширением pfx.

Azatot88, по-моему, Вы перепутали в команде источник и назначение. Попробуйте так:
Код:
certmgr.exe -add -all -s -r currentUser My "C:\Users\%username%\Documents\prv_key.pfx" »

К сожалению тоже не получается, хотя и пишет:"CertMgr Succeeded"

Но свою проблему разрешил, нашел нужное решение в данном месте:
http://social.technet.microsoft.com/forums/ru-RU/windowsserverru/thread/a52cc4e5-f66d-4edf-b42a-9d3723a4b1c2




© OSzone.net 2001-2012