Windows, Windows 10, Windows 7, Windows 8, Windows Server, Windows Vista, Windows XP
Добавление сертификатов для всех пользователей
- 13.10.2016
- 30 779
- 7
- 29.07.2021
- 12
- 11
- 1
- Содержание статьи
- Установка сертификатов всем пользователям
- Комментарии к статье ( 7 шт )
- Добавить комментарий
Файлы сертификатов, по умолчанию, устанавливаются только под учетную запись пользователя, под которым происходит сама установка. Тем не менее, можно установить сертификаты на компьютер, то есть на всех его пользователей.
Установка сертификатов всем пользователям
Сделать это можно набрав в меню Пуск mmc
и выполнив там данную команду
Либо же выполнив команду mmc
в окошке «Выполнить», которое отркрывается сочетанием клавиш Win + R
Откроется пустое окошко консоли, в которое нужно добавить оснастку Сертификаты. Для этого нажимаем клавиши Ctrl +M, или же открываем в верхнем меню пункт «Файл», в нем выбираем «Добавить или удалить оснастку».
Откроется окошко добавления или удаления оснасток. В левом столбце (который называется «Доступные оснастки») ищем Сертификаты, выделяем и нажимаем «Добавить».
Появится окошко, в котором необходимо будет указать некоторые параметры добавляемой оснастки. В первом окне необходимо будет указать область управления сертификатами, так как заданной целью является возможность добавлять сертификаты для всех пользователей, то нужно выбрать пункт «учетной записи компьютера».
Затем, после нажатия кнопки «Далее» появится окошко, в котором необходимо будет указать, каким компьютером будет управлять данная оснастка. Если целью стоит управление локальным компьютером, то необходимо отметить пункт «Локальным компьютером», если же удаленным, то его необходимо выбрать пункт «Другим компьютером», где нужно будет указать нужный компьютер.
По закрытию окошка с выбором параметров добавляемой оснастки видим, что в правом окне доступных оснасток появились «Сертификаты (локальный компьютер)». Нажимаем «Ок».
Теперь в правой части консоли нажимаем на Сертификаты (Локальный компьютер).
После этого откроется список доступных хранилищ сертификатов. Нажимаем на нужном хранилище правой кнопкой мыши, и выбираем пункт «Все задачи — Импорт».
Откроется окошко импорта сертификатов. Первое окошко с приветствием можно быстро пропустить, нажав кнопку «Далее».
В следующем окне нужно выбрать нужный сертификат, выбрать который можно нажав кнопку «Обзор». По завершению добавления сертификата нужно нажать кнопку «Далее».
Затем нужно определить необходимое хранилище сертификатов. Ранее выбранное хранилище сертификатов будет выбрано автоматом, но в этом окошке его можно поменять.
Затем, после нажатия кнопки «Далее» будет отображено окно завершения операции по импорту сертификата. Закрыть его можно нажав кнопку «Готово».
После этого появится уведомление о успешном импорте. Далее можно закрыть все ранее открытые окна, нужный сертификат был добавлен в нужное хранилище для всех пользователей на компьютере.
- Remove From My Forums
-
Question
-
The following are what I have learned:
- Both CertMgr.exe and WinHttpCertCfg.exe programs behave a bit weird at times. And their online documentation is not so helpful.
- The CertMgr.exe program works properly for installing the Root CA Certificate although it does not tell you when the action (installation) actually
fails. For example, the following is a bogus command, yet it reports “Succeeded”
C:clientcert>certmgr -add -c -s
bogus -r currentUser RootCertMgr Succeeded
- The WinHttpCertCfg.exe program:
- It seems to have been created for allowing Web apps (e.g., ASP.NET on a Windows Server) to call Web Services using the “Network Service”
account which requires access to the client certificate (private key) in the LOCAL_MACHINE.
- It allows any user to install client certificate into the CURRENT_USERPersonal registry of his/her own account.
- It does not allow an admin to install the client certificate into the CURRENT_USERPersonal registry of another user.
However, it does allow an admin to install it into the LOCAL_MACHINEPersonal or CURRENT_USERPersonal registry and then allow him/her to
grant access to the private key for another user. However, Internet Explore instance (run by another user) does NOT have access to the CURRENT_USERPersonal registry.
- It seems to have been created for allowing Web apps (e.g., ASP.NET on a Windows Server) to call Web Services using the “Network Service”
#3.c is what I want to ask Microsoft. If there’s some other solution to this particular problem we try to solve, that would be great.
I’m also wondering if we could prepare and provide some scripts/procedure like the following to the customers. If we could, then we may
not need the GUI program at all.- An admin installs the two programs on a network drive (or local drive) and then writes a logon script or GPO that use the programs. The downside
to this might be that the password to the client certificate would need to be hard-coded or prompted to the end user (which doesn’t sound like a good idea).
- As part of a user’s logon process, the CURRENT_USERPersonal registry is checked by the script and runs the WinHttpCertCfg.exe program
if the cert has not been installed yet. If it has already, then skip the step.
- Both CertMgr.exe and WinHttpCertCfg.exe programs behave a bit weird at times. And their online documentation is not so helpful.
Answers
-
Hi,
Glad to see you.
current_user registry means currently logon user. According to your requirement, you want admin to install the certificate into current_user/Personal of another user. but current_user /personal is for admin. so i want to confirm that if you want
admin to install certificate for another user on the computer. If so, i think your main corcerns is that you just want to automatically request and install an certificate for users. so we could use autoenrollment to achieve our goals:More informaition:
http://technet.microsoft.com/en-us/library/cc787781(WS.10).aspx
http://technet.microsoft.com/en-us/library/cc731522.aspx
Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
-
Proposed as answer by
Monday, December 5, 2011 9:59 AM
-
Marked as answer by
Niki Han
Thursday, December 8, 2011 6:08 AM
-
Proposed as answer by
- Remove From My Forums
-
Question
-
The following are what I have learned:
- Both CertMgr.exe and WinHttpCertCfg.exe programs behave a bit weird at times. And their online documentation is not so helpful.
- The CertMgr.exe program works properly for installing the Root CA Certificate although it does not tell you when the action (installation) actually
fails. For example, the following is a bogus command, yet it reports “Succeeded”
C:clientcert>certmgr -add -c -s
bogus -r currentUser RootCertMgr Succeeded
- The WinHttpCertCfg.exe program:
- It seems to have been created for allowing Web apps (e.g., ASP.NET on a Windows Server) to call Web Services using the “Network Service”
account which requires access to the client certificate (private key) in the LOCAL_MACHINE.
- It allows any user to install client certificate into the CURRENT_USERPersonal registry of his/her own account.
- It does not allow an admin to install the client certificate into the CURRENT_USERPersonal registry of another user.
However, it does allow an admin to install it into the LOCAL_MACHINEPersonal or CURRENT_USERPersonal registry and then allow him/her to
grant access to the private key for another user. However, Internet Explore instance (run by another user) does NOT have access to the CURRENT_USERPersonal registry.
- It seems to have been created for allowing Web apps (e.g., ASP.NET on a Windows Server) to call Web Services using the “Network Service”
#3.c is what I want to ask Microsoft. If there’s some other solution to this particular problem we try to solve, that would be great.
I’m also wondering if we could prepare and provide some scripts/procedure like the following to the customers. If we could, then we may
not need the GUI program at all.- An admin installs the two programs on a network drive (or local drive) and then writes a logon script or GPO that use the programs. The downside
to this might be that the password to the client certificate would need to be hard-coded or prompted to the end user (which doesn’t sound like a good idea).
- As part of a user’s logon process, the CURRENT_USERPersonal registry is checked by the script and runs the WinHttpCertCfg.exe program
if the cert has not been installed yet. If it has already, then skip the step.
- Both CertMgr.exe and WinHttpCertCfg.exe programs behave a bit weird at times. And their online documentation is not so helpful.
Answers
-
Hi,
Glad to see you.
current_user registry means currently logon user. According to your requirement, you want admin to install the certificate into current_user/Personal of another user. but current_user /personal is for admin. so i want to confirm that if you want
admin to install certificate for another user on the computer. If so, i think your main corcerns is that you just want to automatically request and install an certificate for users. so we could use autoenrollment to achieve our goals:More informaition:
http://technet.microsoft.com/en-us/library/cc787781(WS.10).aspx
http://technet.microsoft.com/en-us/library/cc731522.aspx
Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
-
Proposed as answer by
Monday, December 5, 2011 9:59 AM
-
Marked as answer by
Niki Han
Thursday, December 8, 2011 6:08 AM
-
Proposed as answer by
Форум КриптоПро
»
Устаревшие продукты
»
КриптоПро CSP 3.9
»
Как сделать сертификат, созданный в одной учетной записи на сервере доступным для всех?
Nataniel’ |
|
Статус: Новичок Группы: Участники Сказал(а) «Спасибо»: 1 раз |
В одной учетной записи на сервере (не администратор) создан сертификат закрытого ключа для сдачи 1С-отчетности. Как его сделать доступным для других пользователей? На данный момент, под остальными учетками в Крипто-про — Сервис — Просмотреть сертификаты в контейнере контейнер не видно. Создан контейнер был в реестре. |
|
|
Максим Коллегин |
|
Статус: Сотрудник Группы: Администраторы Сказал «Спасибо»: 21 раз |
Сделать ключ и сертификат в хранилище локального компьютера и дать доступ к ключу всем. Подробнее тут: |
Знания в базе знаний, поддержка в техподдержке |
|
|
WWW |
Nataniel’ |
|
Статус: Новичок Группы: Участники Сказал(а) «Спасибо»: 1 раз |
Не совсем все понятно, как для обычного пользователя. Если сертификат уже создан в реестре пользователя, а не компьютера, его можно переместить в реестр и компьютера и сделать доступным для всех? Или надо перевыпускать сертификат заново? |
|
|
Максим Коллегин |
|
Статус: Сотрудник Группы: Администраторы Сказал «Спасибо»: 21 раз |
Можно переместить, можно сделать заново. |
Знания в базе знаний, поддержка в техподдержке |
|
|
WWW |
Андрей Писарев |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 451 раз |
Автор: Nataniel’ В одной учетной записи на сервере (не администратор) создан сертификат закрытого ключа для сдачи 1С-отчетности. Как его сделать доступным для других пользователей? На данный момент, под остальными учетками в Крипто-про — Сервис — Просмотреть сертификаты в контейнере контейнер не видно. Создан контейнер был в реестре. Еще вариант. Там, где установлен сертификат: ПускВсе программыКРИПТО-ПРОСертификаты… |
Техническую поддержку оказываем тут |
|
|
WWW |
Nataniel’ |
|
Статус: Новичок Группы: Участники Сказал(а) «Спасибо»: 1 раз |
Автор: Андрей * Автор: Nataniel’ В одной учетной записи на сервере (не администратор) создан сертификат закрытого ключа для сдачи 1С-отчетности. Как его сделать доступным для других пользователей? На данный момент, под остальными учетками в Крипто-про — Сервис — Просмотреть сертификаты в контейнере контейнер не видно. Создан контейнер был в реестре. Еще вариант. Там, где установлен сертификат: ПускВсе программыКРИПТО-ПРОСертификаты… Так и делали, в итоге контейнер появляется у нового пользователя, но пишет, что сертификат в контейнере не найден. |
|
|
Андрей Писарев |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 451 раз |
Автор: Nataniel’ Автор: Андрей * Автор: Nataniel’ В одной учетной записи на сервере (не администратор) создан сертификат закрытого ключа для сдачи 1С-отчетности. Как его сделать доступным для других пользователей? На данный момент, под остальными учетками в Крипто-про — Сервис — Просмотреть сертификаты в контейнере контейнер не видно. Создан контейнер был в реестре. Еще вариант. Там, где установлен сертификат: ПускВсе программыКРИПТО-ПРОСертификаты… Так и делали, в итоге контейнер появляется у нового пользователя, но пишет, что сертификат в контейнере не найден. Все верно, его необходимо вручную установить и сохранить в контейнер. |
Техническую поддержку оказываем тут |
|
|
WWW |
Максим Коллегин |
|
Статус: Сотрудник Группы: Администраторы Сказал «Спасибо»: 21 раз |
При импорте из pfx сертификат в контейнер не устанавливается. Его можно установить через панель CSP или csptest. |
Знания в базе знаний, поддержка в техподдержке |
|
|
WWW |
Андрей Писарев |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 451 раз |
Инструкция Цитата: 2.5.3. Установка личного сертификата, хранящегося в файл |
Техническую поддержку оказываем тут |
|
|
WWW |
Nataniel’ |
|
Статус: Новичок Группы: Участники Сказал(а) «Спасибо»: 1 раз |
Можно подробней, куда мне лучше экспортировать сертификат (где его сохранить), чтобы из другой учетной записи я могла его импортировать. И как в ручную установить сертификат в контейнер, ведь файл с расширением .cer не импортируется. |
|
|
Пользователи, просматривающие эту тему |
Guest |
Форум КриптоПро
»
Устаревшие продукты
»
КриптоПро CSP 3.9
»
Как сделать сертификат, созданный в одной учетной записи на сервере доступным для всех?
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Содержание
- Как добавить сертификат Центра Сертификации (CA) в доверенные в Windows
- Как добавить корневой сертификат в доверенные в Windows на уровне системы
- Как добавить корневой сертификат в доверенные в Windows в веб браузеры
- Как установить личный сертификат
- Установка через меню «Установить личный сертификат»
- Добавление сертификатов для всех пользователей
- Установка сертификатов всем пользователям
- Как установить сертификат ЭЦП на компьютер?
- Вариант 1. Устанавливаем корневой сертификат УЦ, выдавшего ЭЦП
- Вариант 2. Установка корневого сертификата удостоверяющего центра
- Итоги
- Установка Служб сертификации
- Добавление шаблонов сертификатов в Центр Сертификации
- Выписка сертификатов пользователю Administrator и обычным пользователям с помощью mmc-консоли
Как добавить сертификат Центра Сертификации (CA) в доверенные в Windows
Как добавить корневой сертификат в доверенные в Windows на уровне системы
1. Мастер импорта сертификатов
Если сертификат имеет расширение .crt, то его достаточно запустить двойным кликом:
В открывшемся окне нажмите кнопку «Установить сертификат»:
Выберите один из вариантов:
Выберите «Пометить все сертификаты в следующие хранилища»:
Нажмите кнопку «Обзор» и выберите «Доверенные корневые центры сертификации»:
Нажмите «Далее»:
Нажмите «Готово»:
Сообщение об успешном импорте:
Теперь сертификат будет доступен в Менеджере Сертификатов:
2. Добавление root CA сертификата в Менеджере Сертификатов
Чтобы открыть Менеджер Сертификатов нажмите Win+r, введите в открывшееся поле и нажмите Enter:
Кликните правой кнопкой мыши по пункту «Доверенные корневые центры сертификации», выберите пункт «Все задачи» → «Импорт»:
Нажмите «Далее»:
Укажите папку и имя файла:
Нажмите «Далее»:
Теперь действительно всё готово:
Только что импортированный сертификат в Менеджере Сертификатов:
Как добавить корневой сертификат в доверенные в Windows в веб браузеры
Chrome, Chromium, Opera и сделанные на их основе веб браузеры используют общесистемные корневые CA сертификаты. То есть для добавления новых доверенных CA достаточно добавить их в систему, как это показано выше.
Firefox использует исключительно своё хранилище. Для добавления корневых сертификатов CA в Firefox нужно сделать так:
Нажмите кнопку «Импортировать»:
Выберите файл с сертификатом.
Укажите, какие полномочия вы даёте этому сертификату:
Для глубокого понимания OpenSSL смотрите также полное руководство: «OpenSSL: принципы работы, создание сертификатов, аудит».
Источник
Как установить личный сертификат
Установить личный сертификат можно двумя способами:
Установка через меню «Просмотреть сертификаты в контейнере»
1. Выберите «Пуск» > «Панель управления» > «КриптоПро CSP», перейдите на вкладку «Сервис» и кликните по кнопке «Просмотреть сертификаты в контейнере».
2. В открывшемся окне нажмите на кнопку «Обзор», чтобы выбрать контейнер для просмотра. После выбора контейнера нажмите на кнопку «Ок».
3. В открывшемся окне нажмите кнопку «Далее».
4. В следующем окне нажмите на кнопку « Установить», после чего утвердительно ответьте на уведомление о замене сертификата (если оно появится). Сертификат установлен.
5. Если кнопка « Установить » отсутствует, то в окне « Сертификат для просмотра » нажмите на кнопку « Свойства ».
Установка через меню «Установить личный сертификат»
3. Далее укажите путь к сертификату и нажмите на кнопку « Открыть »> « Далее » .
4. В следующем окне кликните по кнопке « Далее ».
5. Нажмите кнопку « Обзор » .
6. Укажите контейнер закрытого ключа, соответствующий сертификату, и нажмите кнопку « Ок ».
7. После выбора контейнера нажмите на кнопку « Далее » .
8. В окне « Выбор хранилища сертификатов » кликните по кнопке « Обзор ».
Если установлена версия КриптоПро CSP 3.6 R2 (версия продукта 3.6.6497) или выше, то поставьте галку « Установить сертификат в контейнер ».
Дождитесь сообщения об успешной установке. Сертификат установлен.
Источник
Добавление сертификатов для всех пользователей
Файлы сертификатов, по умолчанию, устанавливаются только под учетную запись пользователя, под которым происходит сама установка. Тем не менее, можно установить сертификаты на компьютер, то есть на всех его пользователей.
Установка сертификатов всем пользователям
Сделать это можно набрав в меню Пуск mmc и выполнив там данную команду
Либо же выполнив команду mmc в окошке «Выполнить», которое отркрывается сочетанием клавиш Win + R
Откроется пустое окошко консоли, в которое нужно добавить оснастку Сертификаты. Для этого нажимаем клавиши Ctrl +M, или же открываем в верхнем меню пункт «Файл», в нем выбираем «Добавить или удалить оснастку».
Откроется окошко добавления или удаления оснасток. В левом столбце (который называется «Доступные оснастки») ищем Сертификаты, выделяем и нажимаем «Добавить».
Появится окошко, в котором необходимо будет указать некоторые параметры добавляемой оснастки. В первом окне необходимо будет указать область управления сертификатами, так как заданной целью является возможность добавлять сертификаты для всех пользователей, то нужно выбрать пункт «учетной записи компьютера».
Затем, после нажатия кнопки «Далее» появится окошко, в котором необходимо будет указать, каким компьютером будет управлять данная оснастка. Если целью стоит управление локальным компьютером, то необходимо отметить пункт «Локальным компьютером», если же удаленным, то его необходимо выбрать пункт «Другим компьютером», где нужно будет указать нужный компьютер.
По закрытию окошка с выбором параметров добавляемой оснастки видим, что в правом окне доступных оснасток появились «Сертификаты (локальный компьютер)». Нажимаем «Ок».
Теперь в правой части консоли нажимаем на Сертификаты (Локальный компьютер).
Откроется окошко импорта сертификатов. Первое окошко с приветствием можно быстро пропустить, нажав кнопку «Далее».
В следующем окне нужно выбрать нужный сертификат, выбрать который можно нажав кнопку «Обзор». По завершению добавления сертификата нужно нажать кнопку «Далее».
Затем нужно определить необходимое хранилище сертификатов. Ранее выбранное хранилище сертификатов будет выбрано автоматом, но в этом окошке его можно поменять.
Затем, после нажатия кнопки «Далее» будет отображено окно завершения операции по импорту сертификата. Закрыть его можно нажав кнопку «Готово».
После этого появится уведомление о успешном импорте. Далее можно закрыть все ранее открытые окна, нужный сертификат был добавлен в нужное хранилище для всех пользователей на компьютере.
Источник
Как установить сертификат ЭЦП на компьютер?
Вариант 1. Устанавливаем корневой сертификат УЦ, выдавшего ЭЦП
Как установить сертификат ЭЦП — вопрос, волнующий многих пользователей, оплативших ключ ЭЦП. Перед тем как непосредственно перейти к делу, необходимо скачать программу «КриптоПро» с официального сайта.
Установка сертификата ЭЦП допустима двумя путями:
Рассмотрим первый случай более подробно.
и переходим к клавише «Открыть».
Вариант 2. Установка корневого сертификата удостоверяющего центра
Для установки сертификата вторым методом:
«Готово». Установку мы выполнили успешно.
Какие изменения, упростившие работу с ЭЦП, произошли в 2020 году, узнайте из Обзора, который подготовили эксперты КонсультантПлюс. Если у вас еще нет доступа к этой правовой системе, пробный полный доступ можно получить бесплатно.
Итоги
Установить корневой сертификат удостоверяющего центра можно двумя способами. Наша пошаговая инструкция позволит вам совершить эту операцию быстро и корректно.
Узнать больше об ЭЦП вы сможете в наших публикациях:
Источник
Установка Служб сертификации
Для установки Служб сертификации:
В окне для указания имени ЦС введите значения всех полей и нажмите Далее.
Введенные здесь данные носят информативный характер. Рекомендуется их внести. Аббревиатуры несут следующий смысл: «O» — Organization, «OU» — Organization Unit, «L» — City (Location), «S» — State or province, «C» — Country/region, «E» — E-mail.
Введите период действия сертификата для создания ЦС.
По истечению срока действия сертификата ЦС необходимо будет перевыпустить сертификаты всем действующим пользователям.
Добавление шаблонов сертификатов в Центр Сертификации
Для добавления шаблонов сертификатов:
Выберите следующие настройки:
Значение параметра Минимальный размер ключа должен быть не менее 1024.
Выписка сертификатов пользователю Administrator и обычным пользователям с помощью mmc-консоли
Для выписки сертификатов пользователя Administrator и обычным пользователям с помощью mmc-консоли:
Закройте окно Консоль1. Для сохранения консоли нажмите Да.
Источник
Содержание
- Введение
- Что такое сертификат PFX
- Логические хранилища
- Модуль PKI
- Поиск и выбор сертификата
- Создание сертификата
- Установка сертификата pfx
- Добавление сертификата в список доверенных
- Проверка наличия дубликата сертификата
- Экспорт и импорт сертификата
- Экспорт сертификата pfx
- Импорт сертификата pfx
- Как экспортировать сертификат cer из pfx
- Удаление сертификата
- Удаление с помощью thumbprint
- Поиск и удаление сертификата с помощью сопоставления значений
- Диспетчер сертификатов Windows
Введение
Сертификат – это контейнер для открытого ключа. Он включает в себя такую информацию как значение открытого ключа, имя сервера или пользователя, некоторую дополнительную информацию о сервере или пользователе, а также содержит электронную подпись, сформированную издающим центром сертификации (ЦС). Ранее мы уже писали о работе с сертификатами pfx с помощью openssl, теперь рассмотрим использование встроенных средств, а именно powershell.
Что такое сертификат PFX
Файл .pfx, который не следует путать с .cer, представляет собой архив PKCS#12; это пакет, который может содержать несколько объектов с дополнительной защитой паролем. Обычно он содержит сертификат (возможно, со своим набором цепочки сертификатов верхнеуровневых УЦ) и соответствующий закрытый ключ. В то время как PFX может содержать в себе несколько сертификатов, файл .cer содержит один единственный сертификат без пароля и закрытого ключа. В Windows все сертификаты находятся в логических местах хранения, называемых хранилищами сертификатов.
Одним из самых распространенных областей применения сертификатов PFX является подпись кода (code signing). Также, в случае защиты надежным паролем pfx можно передавать по открытым каналам связи.
Логические хранилища
Логические хранилища – это виртуальные месторасположения, в которых которых локально храняться сертификаты как для пользователя так и для компьютера. Powershell использует Cert PSDrive для сопоставления сертификатов с физическими хранилищами. Наименование логических хранилищ Certificates Microsoft Management Console (MMC) отличается от маркировки хранилища Cert PSDrive. В таблице ниже показано сравнение между ними:
CERT: | CERTIFICATES MMC |
---|---|
My | Личные |
Remote Desktop | Удаленный рабочий стол |
Root | Доверенные корневые центры сертификации |
CA | Промежуточные центры сертификации |
AuthRoot | Сторонние корневые центры сертификации |
TrustedPublisher | Доверенные издатели |
Trust | Доверительные отношения в предприятии |
UserDS | Объект пользователя Active Directory |
Модуль PKI
Утилита MakeCert.exe, входящая в состав Microsoft .NET Framework SDK и Microsoft Windows SDK, используется для создания самоподписанного сертификата. В системе, где не установлен Windows SDK, для управления сертификатами используются команды модуля Powershell PKI.
Чтобы перечислить все команды, доступные в модуле PKI, выполните следующую команду:
Get-Command -Module PKI
Командлеты, используемые в этой статье, описаны ниже:
Export-PfxCertificate
Командлет Export-PfxCertificate экспортирует сертификат или объект PFXData в файл Personal Information Exchange (PFX). По умолчанию экспортируются расширенные свойства и вся цепочка.
Get-Certificate
КомандлетGet-Certificate можно использовать для отправки запроса на сертификат и установки полученного сертификата, установки сертификата из запроса на сертификат, а также для регистрации в службе каталогов протокола LDAP.
Get-PfxData
Командлет Get-PfxData извлекает содержимое файла Personal Information Exchange (PFX) в структуру, содержащую сертификат конечного субъекта, любые промежуточные и корневые сертификаты.
Import-PfxCertificate
КомандлетImport-PfxCertificate импортирует сертификаты и закрытые ключи из файла PFX в локальное хранилище.
New-SelfSignedCertificate
Командлет New-SelfSignedCertificate создает самоподписанный сертификат. С помощью параметра CloneCert указанный сертификат может быть создан на основе существующего сертификата с копированием всех параметров из оригинального сертификата, за исключением открытого ключа.
Поиск и выбор сертификата
В Powershell Cert: PSDrive используется для вывода списка сертификатов в определенном хранилище. Чтобы вывести оба хранилища в Cert: PSDrive, выполните следующую команду:
Get-ChildItem -Path Cert:
Будут показаны месторасположения сертификатов для CurrentUser и LocalMachine. Чтобы перечислить сертификаты для доверенных корневых центров сертификации LocalMachine, выполните следующую команду:
Get-ChildItem -Path Cert:LocalMachineRoot
Возвращаемый объект будет представлять собой сертификаты, которые можно изменить, удалить или экспортировать.
Команду Get-ChildItem можно комбинировать с Where-Object для поиска конкретных сертификатов. Приведенная ниже команда найдет сертификат, предположительно выданный Microsoft, проверяя свойство Subject сертификатов:
Get-ChildItem -Path Cert:LocalMachineRoot | Where-Object {$_.Subject.Contains("Microsoft")}
У выведенных в сертификатов часть значения Subject будет содержать Microsoft.
Создание сертификата
Для создания сертификата необходимо указать значения -DnsName (имя DNS-сервера) или -Subject и -CertStoreLocation (хранилище сертификатов, в которое будет помещен созданный сертификат). Чтобы создать сертификат для DNS itsecforu-test.com и установить его в список Личные сертификаты в системе, выполните следующую команду:
New-SelfSignedCertificate -DnsNameitsecforu-test.com -CertStoreLocation cert:CurrentUserMy
Команда генерирует новый сертификат и устанавливает его в личное хранилище пользователя. При открытии certmgr.msc ( certlm.msc – для локального компьютера соответственно ) сертификат появится в разделе Personal. В выводе будут показаны сведения о только что созданном сертификате, включая его отпечаток:
По умолчанию самоподписанный сертификат генерируется со следующими настройками:
- Криптографический алгоритм: RSA;
- Длина ключа: 2048 бит;
- Допустимое использование ключа: Проверка подлинност клиента и Проверка подлинности сервера;
- Сертификат может быть использован для цифровой подписи, шифрования ключей;
- Срок действия: 1 год.
Срок действия сгенерированного сертификата ограничен одним годом. Для увеличения срока действия сертификата необходимо указать соответствующий атрибут Date с увеличенным значением срока действия с помощью ключа -notafter. Чтобы выпустить сертификат на 5 лет, выполните приведенную ниже команду:
$expiry_year = (Get-Date).AddYears(5)
New-SelfSignedCertificate -DnsName itsecforu-test.com -notafter $expiry_year -CertStoreLocation Cert:CurrentUserMy
Новые сертификаты могут быть созданы только в личных хранилищах Cert:LocalMachineMy или Cert:CurrentUserMy. Выполните приведенную ниже команду help для просмотра всех остальных параметров, принимаемых командой New-SelfSignedCertificate:
help New-SelfSignedCertificate -Full
Установка сертификата pfx
Сертификат может быть установлен в различные места хранения, каждое место хранения имеет свое определенное назначение, но в этой статье мы будем устанавливать в четыре места Cert:CurrentUserMy, Cert:LocalMachineMy, Cert:CurrentUserRoot и Cert:LocalMachineRoot. Расположение My является личным хранилищем для ненадежных приложений, а Root – хранилищем для доверенных сертификатов.
Команда, используемая для установки общего сертификата, отличается от команды для установки сертификата PFX. Для установки сертификата pfx используется команда Powershell Import-PfxCertificate.
Чтобы установить сертификат PFX в личное хранилище текущего пользователя, используйте следующую команду:
Import-PfxCertificate -FilePath ./itsecforu.pfx -CertStoreLocation Cert:CurrentUserMy -Password P@sw0rd
Для установки в личное местоположение системы измените местоположение хранилища в команде выше с Cert:CurrentUserMy на Cert:LocalMachineMy.
Чтобы установить PFX сертификат в доверенное хранилище текущего пользователя, используйте следующую команду:
Import-PfxCertificate -FilePath ./itsecforu.pfx -CertStoreLocation Cert:CurrentUserRoot -Password P@sw0rd
При установке в корневое расположение текущего пользователя появится диалоговое окно для подтверждения установки сертификата, но при установке в системное корневое расположение никакого диалога не появится. Для установки в системное доверенное место измените расположение хранилища в команде выше с Cert:CurrentUserRoot на Cert:LocalMachineRoot.
Добавление сертификата в список доверенных
Недоверенный сертификат гораздо опаснее и подозрительнее, чем отсутствие сертификата вообще, поэтому важно добавить наш сертификат в доверенные корневые сертификаты.
Сертификаты могут быть созданы только в хранилище Cert:LocalMachineMy или Cert:CurrentUserMy . Поскольку любой сертификат в этом месте по умолчанию помечен как недоверенный, чтобы сделать его легитимным, необходимо его переместить из Cert:LocalMachineMy или Cert:CurrentUserMy в Cert:LocalMachineRoot и Cert:CurrentUserRoot соответственно.
Move-Item -Path$cert-Destination "Cert:LocalMachineRoot"
Проверка наличия дубликата сертификата
Чтобы избежать повторного добавления уже существующего сертификата в хранилище сертификатов, перед добавлением нового сертификата с тем же значением Subject следует проверить и удалить уже имеющийся сертификат. Powershell автоматически создает путь виртуального диска для метки cert: и ведет себя как обычный каталог. В приведенном ниже фрагменте проверяется путь cert:LocalMachineMy хранилища сертификатов, чтобы найти сертификат по значению Subject.
$cert_name = "itsecforu-test.com" ForEach ($cert in (ls cert:CurrentUserMy)) { If ($cert.Subject -eq "CN=$cert_name") { //the certificate can be deleted or edited in here } }
Экспорт и импорт сертификата
Команды для импорта и экспорта pfx-сертификата отличаются от команд для экспорта и импорта обычного сертификата. Команда Import-PfxCertificate используется для импорта запароленного сертификата pfx, а команда Export-PfxCertificate – для экспорта сертификата из места хранения в новое местоположение файла.
Экспорт сертификата pfx
Для экспорта сертификата pfx необходим пароль для шифрования закрытого ключа. В приведенном ниже примере мы используем значение Subject для поиска экспортируемого сертификата, выбрав сертификат, значение Subject которого равно itsecforu-test.com
$certificate = Get-ChildItem -Path Cert:CurrentUserMy | Where-Object {$_.Subject -match "itsecforu-test.com"} После выбора сертификата его можно экспортировать из места хранения в папку с помощью приведенной ниже команды: $pass= "Qwerty123" | ConvertTo-SecureString -AsPlainText -Force Export-PfxCertificate -Cert $certificate -FilePath $env:USERPROFILEDocumentsitsecforu-test.com.pfx -Password $pass
Импорт сертификата pfx
Скаченные или экспортированные сертификаты pfx можно установить с помощью команды Import-PfxCertificate. Для импорта требуется пароль для сертификата и местоположение.
Команда ниже импортирует сертификат pfx, который мы экспортировали ранее:
$password= "Qwerty123" | ConvertTo-SecureString -AsPlainText -Force Import-PfxCertificate -Exportable -Password $password -CertStoreLocation Cert:CurrentUserMy -FilePath $env:USERPROFILEDocumentsitsecforu-test.com.pfx
Параметр -Exportable отмечает закрытый ключ как экспортируемый.
Как экспортировать сертификат cer из pfx
Для экспорта сертификата из файла pfx используется комбинированная команда Get-PfxCertificate и Export-Certificate. Get-PfxCertificate используется для поиска сертификата pfx, а Export-Certificate – для экспорта указанного сертификата в FilePath. Требуется ввод пароля от pfx контейнера Ниже приведенная команда экспортирует сертификат в кодировке DER (двоичный) из файла pfx.
Get-PfxCertificate -FilePath "C:certsTest.pfx" | Export-Certificate -FilePath "C:certsTest.cer" -Type CERT
Обратите внимание на параметр-Type, который используется для указания типа экспортируемого сертификата, в данном примере это сертификат CERT в кодировке DER (двоичный). Существуют и другие типы, они перечислены ниже.
-Type <CertType> Указывает тип выходного файла для экспорта сертификатов следующим образом. -- SST: формат файла Microsoft serialized certificate store (.sst), который может содержать один или несколько сертификатов. Это значение по умолчанию для нескольких сертификатов. -- CERT: формат файла .cer, который содержит один сертификат в DER-кодировке. Это значение по умолчанию для одного сертификата. -- P7B: формат файла PKCS#7, который может содержать один или несколько сертификатов.
Удаление сертификата
Для удаления сертификата можно использовать команду Remove-Item в Powershell. Перед удалением сертификата необходимо узнать его значение thumbprint (отпечатка) или определить сам объект сертификата.
Удаление с помощью thumbprint
В приведенном ниже фрагменте для удаления используется отпечаток сертификата…
Get-ChildItem Cert:CurrentUserMy7da4d700318ee2a08f96aab9bc71990ca6376053| Remove-Item
Поиск и удаление сертификата с помощью сопоставления значений
Сертификат можно искать в хранилище с помощью команды Where-Object, которая принимает условный оператор, соответствующий искомому сертификату.
Get-ChildItem Cert:CurrentUserMy | Where-Object { $_.Subject -match 'itsecforu-test.com' } | Remove-Item
Обратите внимание, что мы используем значения поля сертификата Subject , другие возможные параметры – Thumbprint и SerialNumber.
Диспетчер сертификатов Windows
Диспетчер сертификатов Windows (certmgr.msc) – это приложение с графическим интерфейсом Windows для управления сертификатами. Найдите certmgr в меню Пуск, чтобы открыть Windows Certificates MMC или введите certmgr.msc в командной строке. Вид консоли предоставляет собой обзор всех локальных хранилищ.
Сертификаты можно устанавливать, удалять, импортировать и экспортировать из диспетчера сертификатов Windows.
Данный материал является переводом оригинальной статьи «ATA Learning : Michael Soule : Manage Certs with Windows Certificate Manager and PowerShell».
Работа с сертификатами обычно является одной из тех дополнительных задач, которые вынужден брать на себя системный администратор Windows. Диспетчер Сертификатов Windows (Windows Certificate Manager) — это один из основных инструментов, который позволяет выполнять эту работу.
В этой статье мы рассмотрим работу с сертификатами применительно к операционной системе Windows. Если же вы хотите узнать больше о том, как работают сертификаты в целом, ознакомьтесь с сопутствующей статьей «Your Guide to X509 Certificates».
Понимание хранилищ сертификатов
В диспетчере сертификатов Windows все сертификаты находятся в логических хранилищах, называемых «хранилищами сертификатов». Хранилища сертификатов – это «корзины», в которых Windows хранит все сертификаты, которые в настоящее время установлены, и сертификат может находиться более чем в одном хранилище.
К сожалению, хранилища сертификатов — не самая интуитивно понятная концепция для работы. О том, как различать эти хранилища и как с ними работать, вы прочитаете ниже.
Каждое хранилище находится в Реестре Windows и в файловой системе. При работе с сертификатом в хранилище вы взаимодействуете с логическим хранилищем, не изменяя напрямую реестр или файловую систему. Этот более простой способ позволяет вам работать с одним объектом, в то время как Windows заботится о том, как представить этот объект на диске.
Иногда можно встретить хранилища сертификатов, называемые физическими или логическими хранилищами. Физические хранилища ссылаются на фактическую файловую систему или место в реестре, где хранятся разделы реестра и / или файл(ы). Логические хранилища — это динамические ссылки, которые ссылаются на одно или несколько физических хранилищ. С логическими хранилищами намного проще работать, чем с физическими хранилищами для наиболее распространенных случаев использования.
Windows хранит сертификаты в двух разных областях — в контексте пользователя и компьютера. Сертификат помещается в один из этих двух контекстов в зависимости от того, должен ли сертификат использоваться одним пользователем, несколькими пользователями или самим компьютером. В остальной части этой статьи сертификат в контексте пользователя и компьютера будет неофициально называться сертификатами пользователей и сертификатами компьютеров.
Сертификаты пользователей
Если вы хотите, чтобы сертификат использовался одним пользователем, то идеальным вариантом будет хранилище пользовательских сертификатов внутри Диспетчера сертификатов Windows. Это общий вариант использования процессов аутентификации на основе сертификатов, таких как проводной IEEE 802.1x.
Сертификаты пользователей находятся в профиле текущего пользователя и логически отображаются только в контексте этого пользователя. Сертификаты пользователей «сопоставлены» и уникальны для каждого пользователя даже в одних и тех же системах.
Компьютерные сертификаты
Если сертификат будет использоваться всеми пользователями компьютера или каким-либо системным процессом, его следует поместить в хранилище в контексте компьютера. Например, если сертификат будет использоваться на веб-сервере для шифрования связи для всех клиентов, размещение сертификата в контексте компьютера будет подходящим вариантом.
Вы увидите, что хранилище сертификатов компьютера логически сопоставлено для всех пользовательских контекстов. Это позволяет всем пользователям использовать сертификаты в хранилище сертификатов компьютера в зависимости от разрешений, настроенных для закрытого ключа.
Сертификаты компьютера находятся в кусте реестра локального компьютера и в подкаталогах ProgramData. Сертификаты пользователя находятся в кусте реестра текущего пользователя и в подкаталогах AppData. Ниже вы можете увидеть, где каждый тип хранилища находится в реестре и файловой системе.
Контекст | Путь реестра | Объяснение |
---|---|---|
User | HKEY_CURRENT_USER SOFTWAREMicrosoftSystemCertificates |
Физическое хранилище для пользовательских открытых ключей |
User | HKEY_CURRENT_USER SOFTWAREPoliciesMicrosoftSystemCertificates |
Физическое хранилище для пользовательских открытых ключей, установленных объектами групповой политики Active Directory (AD) (GPO) |
Computer | HKEY_LOCAL_MACHINE SOFTWAREMicrosoftSystemCertificates |
Физическое хранилище общедоступных ключей для всей машины |
Computer | HKEY_LOCAL_MACHINE SOFTWAREMicrosoftCryptographyServices |
Физическое хранилище ключей, связанных с определенной службой |
Computer | HKEY_LOCAL_MACHINE SOFTWAREPoliciesMicrosoftSystemCertificates |
Физическое хранилище открытых ключей для всей машины, установленных объектами групповой политики. |
Computer | HKEY_LOCAL_MACHINE SOFTWAREMicrosoftEnterpriseCertificates |
Физическое хранилище общедоступных ключей, установленных корпоративными контейнерами PKI в домене AD |
Контекст | Расположение файла | Объяснение |
---|---|---|
User | $env:APPDATAMicrosoftSystemCertificates | Физическое хранилище для пользовательских открытых ключей и указателей на закрытые ключи |
User | $env:APPDATAMicrosoftCrypto | Физическое хранилище для контейнеров закрытых ключей для конкретных пользователей |
Computer | $env:ProgramDataMicrosoftCrypto | Физическое хранилище для контейнеров закрытых ключей для всей машины |
Предварительные требования
В оставшейся части этой статьи вы найдете несколько примеров, демонстрирующих взаимодействие с хранилищами сертификатов Windows. Чтобы воспроизвести эти примеры, убедитесь, что выполняются следующие требования:
- Windows Vista, Windows Server 2008 или более новая операционная система. В показанных примерах используется Windows 10 Корпоративная версии 1903.
- Знакомство с PowerShell. Хотя это и не обязательно, этот язык будет использоваться для ссылки на сертификаты, где это необходимо. Все показанные примеры были созданы с помощью Windows PowerShell 5.1.
- Вам не потребуется устанавливать какие-либо специальные сертификаты, но использование самозаверяющего сертификата полезно.
Управление сертификатами в Windows
В Windows есть три основных способа управления сертификатами:
- Оснастка консоли управления Microsoft (MMC) сертификатов (certmgr.msc)
- PowerShell
- Инструмент командной строки certutil
В этой статье вы узнаете, как управлять сертификатами с помощью оснастки Certificates MMC и PowerShell. Если вы хотите узнать больше о том, как использовать certutil, ознакомьтесь с документацией Microsoft.
PowerShell против диспетчера сертификатов Windows
Поскольку в Windows можно управлять сертификатами несколькими способами, встаёт вопрос выбора, что лучше использовать — GUI (MMC) или командную строку с PowerShell.
Во-первых, рассмотрим жизненный цикл сертификата. Если вы собираетесь установить или удалить один сертификат только один раз, рассмотрите возможность использования MMC. Но если вы управляете несколькими сертификатами или выполняете одну и ту же задачу снова и снова, использование командной строки может оказаться правильным решением. Даже если вы не умеете писать сценарии PowerShell, вам стоит этому научиться, если у вас есть много разных сертификатов, которыми нужно управлять.
Давайте сначала посмотрим, как обнаружить сертификаты, установленные в Windows, с помощью диспетчера сертификатов и PowerShell.
Использование диспетчера сертификатов Windows (certmgr.msc)
Чтобы просмотреть сертификаты с помощью MMC, откройте Диспетчер сертификатов: откройте меню «Пуск» и введите certmgr.msc. Это вызовет Windows Certificates MMC. Это начальное представление предоставит обзор всех логических хранилищ, отображаемых в левом окне.
На снимке экрана ниже видно, что выбрано логическое хранилище доверенных корневых центров сертификации
Просмотр физических хранилищ
По умолчанию Диспетчер сертификатов Windows не отображает физические хранилища. Чтобы показать их, в верхнем меню оснастки выбирайте «View» > «Options«. Затем вы увидите варианты отображения физических хранилищ сертификатов. Включение этого параметра упрощает определение конкретных путей в Windows.
Теперь вы можете видеть, что дополнительные контейнеры показаны в примере логического хранилища доверенных корневых центров сертификации, показанном ранее. Сертификаты по-прежнему сгруппированы относительно их логических хранилищ, но теперь вы можете увидеть физическое хранилище «Реестр».
Проверка атрибутов в диспетчере сертификатов Windows
Есть много атрибутов сертификата, которые вы можете увидеть при просмотре их с помощью MMC. Например, вы, вероятно, захотите выбрать определенные сертификаты по их атрибутам. Самый простой способ сделать это — указать Serial Number сертификата или значение Thumbprint. Если сертификат был подписан центром сертификации (CA), при выдаче он будет иметь серийный номер. Thumbprint вычисляется каждый раз при просмотре сертификата.
Вы можете увидеть некоторые атрибуты сертификата, открыв его в MMC, как показано ниже.
Следует отметить одну важную особенность — встроенные закрытые ключи. Сертификаты в Windows также могут иметь соответствующий закрытый ключ. Эти закрытые ключи хранятся в соответствующих физических хранилищах в виде зашифрованных файлов.
Чтобы быстро отличать сертификаты с соответствующим закрытым ключом и без него, посмотрите на значок сертификата. В Диспетчере сертификатов Windows, если значок просто выглядит как лист бумаги с лентой, соответствующий закрытый ключ отсутствует. Если у сертификата есть закрытый ключ, вы увидите ключ на значке MMC, и ключ в нижней части вкладки «Общие» при открытии сертификата
Использование PowerShell по физическому хранилищу
Как и в случае с MMC, вы можете просматривать сертификаты и управлять ими с помощью PowerShell. Давайте сначала проверим сертификаты в их физических хранилищах (реестр и файловая система).
Используя PowerShell командлет Get-ChildItem, вы можете перечислить все ключи и значения внутри родительского пути в реестре. Приведенная ниже команда перечислит все сертификаты вошедшего в систему пользователя в логическом хранилище промежуточных центров сертификации.
Get-ChildItem -Path 'HKCU:SoftwareMicrosoftSystemCertificatesCACertificates'
Каждая запись в кусте реестра, который вы видите, будет соответствовать отпечатку сертификата доверенного центра сертификации и его сертификату в соответствующем свойстве. Вы можете увидеть пример вывода ниже.
Другое распространенное хранилище — это Personal store. Ваши сертификаты для этого хранилища находятся в файловой системе, а не в реестре. В следующих командах мы покажем эти различные физические пути и их цели.
Каждый файл в каталоге, возвращенный приведенной ниже командой, соответствует сертификату, установленному в личном хранилище текущего пользователя.
Get-ChildItem -Path $env:APPDATAMicrosoftSystemCertificatesMyCertificates
Каждый файл, возвращаемый в приведенной ниже команде, является ссылкой на объект для закрытого ключа, созданный поставщиком хранилища ключей (KSP). Имя файла соответствует идентификатору ключа субъекта сертификата. К каждому устанавливаемому вами закрытому ключу будет добавлен соответствующий файл.
Get-ChildItem -Path $env:APPDATAMicrosoftSystemCertificatesMyKeys
Каждый файл в каталоге, возвращаемый следующей командой, является уникальным контейнером для зашифрованного закрытого ключа, созданного KSP. Нет прямой связи между именем файла и сертификатом, но файл является целью указателя в предыдущей команде.
Get-ChildItem -Path $env:APPDATAMicrosoftCryptoKeys
Использование PowerShell по логическому хранилищу
Поскольку работа с сертификатами на их физических путях встречается редко, в остальных примерах вы будете работать с логическими хранилищами.
PowerShell может получить доступ к логическим хранилищам Windows с помощью PSDrive-объекта «Cert:«, который сопоставляет сертификаты с физическими хранилищами так же, как это делает MMC.
К сожалению, MMC и «Cert:» не маркируют логические хранилища одинаково. Ниже вы можете увидеть сравнительную таблицу общих хранилищ и их названий как в MMC, так и в «Cert:» PSDrive.
Cert: | Certificates MMC |
---|---|
My | Personal |
Remote Desktop | Remote Desktop |
Root | Trusted Root Certification Authorities |
CA | Intermediate Certification Authorities |
AuthRoot | Third-Party Root Certification Authorities |
TrustedPublisher | Trusted Publishers |
Trust | Enterprise Trust |
UserDS | Active Directory User Object |
Выбор сертификатов
Когда вы работаете с сертификатами, вам понадобится способ фильтрации и выбора сертификатов для выполнения определенных операций. В большинстве случаев вы будете фильтровать и выбирать сертификаты на основе значения определенного расширения.
Для следующих примеров вам нужно начать с перечисления всех установленных сертификатов в хранилище корневого ЦС.
Get-ChildItem -Path 'Cert:CurrentUserRoot'
Возвращенные объекты будут объектами сертификатов, которые вы можете использовать в следующих примерах.
Общие расширения уже доступны как свойства объектов сертификата. В приведенном ниже примере вы используете Get-Member для вывода списка всех свойств возвращаемых объектов.
Get-ChildItem -Path 'Cert:CurrentUserRoot' | Get-Member -MemberType Properties
Как видим, некоторые из этих расширений, например «Issuer», помогают найти сертификат, который вы ищете. Расширения предоставляют информацию о сертификате, например, кому он выдан, для чего его можно использовать и любые ограничения на него.
В более сложных случаях использования вам может понадобиться найти сертификаты других расширений, таких как используемый шаблон сертификата. Сложность в том, что значения этих расширений возвращаются как массив целых чисел. Эти целые числа соответствуют содержимому в кодировке ASN.1.
Покажем пример взаимодействия с свойствами типа ScriptProperty. В приведенной ниже команде вы извлекаете Key Usages.
((Get-ChildItem -Path 'Cert:CurrentUserRoot' | Select -First 1).Extensions | Where-Object {$_.Oid.FriendlyName -eq 'Key Usage'}).format($true)
Новая часть, которую мы вводим в приведенной выше команде, — это метод форматирования, который выполняет декодирование ASN.1. Вы передаете ему логическое значение (например, $true), чтобы определить, хотим ли мы, чтобы возвращаемый объект был однострочным или многострочным.
Попробуем использовать значение Thumbprint из сертификата в приведенной ниже команде. Значение Thumbprint устанавливается как переменная PowerShell и используется для выбора конкретного сертификата в приведенных ниже командах.
$thumb = "cdd4eeae6000ac7f40c3802c171e30148030c072"
Get-ChildItem -Path 'Cert:CurrentUserRoot' | Where-Object {$_.Thumbprint -eq $thumb}
Создание самозаверяющих (self-signed) сертификатов с помощью PowerShell
PowerShell может создавать самозаверяющие (self-signed) сертификаты с помощью командлета New-SelfSignedCertificate. Самозаверяющие сертификаты полезны для тестирования, поскольку они позволяют генерировать пару открытого и закрытого ключей без использования центра сертификации.
Теперь давайте создадим самозаверяющий сертификат в хранилищах текущего пользователя и локального компьютера, чтобы использовать его в примерах для следующих шагов.
В приведенном ниже примере PowerShell создает пару открытого и закрытого ключей, самозаверяющий сертификат и устанавливает их все в соответствующие хранилища сертификатов.
New-SelfSignedCertificate -Subject 'User-Test' -CertStoreLocation 'Cert:CurrentUserMy'
New-SelfSignedCertificate -Subject 'Computer-Test' -CertStoreLocation 'Cert:LocalMachineMy'
Использование самозаверяющих сертификатов для продуктивных сервисов не рекомендуется, поскольку не существует всех механизмов, основанных на доверии.
Импорт и экспорт сертификатов в MMC
Криптография с открытым ключом основана на широкой доступности открытого ключа. Учитывая это, вам нужны стандартные способы эффективного обмена сертификатами. Не менее важна безопасность ваших личных ключей. Хранение закрытых ключей на недоступных носителях или с материалами для аварийного восстановления — обычная практика для определенных закрытых ключей.
Оба они требуют способов хранения этих криптографических объектов в стандартных форматах. Экспорт предоставляет функции для сохранения этих объектов и обеспечения использования широко распространенных стандартных форматов файлов. Импорт позволяет вам переносить криптографические объекты в операционные системы Windows.
Экспорт сертификатов из MMC относительно прост. Чтобы экспортировать сертификат без закрытого ключа, щелкните сертификат в MMC, выберите меню «Все задачи», а затем «Экспорт».
Во время экспорта вам будет предложено указать формат файла, как показано ниже. Наиболее распространены варианты кодирования — DER или Base-64
Экспорт закрытых ключей
Чтобы экспортировать сертификат с соответствующим закрытым ключом, вы должны соответствовать двум критериям:
- Вошедшая в систему учетная запись должна иметь разрешение на закрытый ключ (только для сертификатов компьютеров);
- Закрытый ключ должен быть помечен как экспортируемый.
Чтобы проверить разрешения для закрытых ключей локального компьютера, вы можете выбрать сертификат с закрытым ключом, выбрать «Все задачи» и «Управление закрытыми ключами» в MMC «Сертификаты». В открывшемся диалоговом окне отображаются записи управления доступом для закрытых ключей.
Когда выше обозначенные условия выполнены, вы можете выбрать сертификат, щелкнуть «Все задачи», а затем «Экспорт», как если бы вы использовали сертификат только с открытым ключом. При экспорте теперь у вас должна присутствовать возможность выбора экспорта закрытого ключа («Yes, export the private key»), как показано ниже.
Когда вы экспортируете закрытый ключ в Windows, вы можете сохранить файл только как PFX. Этот и другие типы файлов и форматы кодирования подробно описаны в этом посте.
Для остальных параметров, отображаемых в мастере экспорта, вы можете использовать значения по умолчанию. В таблице ниже приводится краткое изложение каждого из них.
Настройка | Описание |
---|---|
Including all certificates in the certification path if possible | Помогает с переносимостью эмитентов сертификатов и включает все соответствующие открытые ключи в PFX. |
Delete the private key if the export is successful | Удаляет закрытый ключ из файла и имеет несколько распространенных вариантов использования, но одним из примеров является проверка доступа к закрытым ключам. |
Export all extended properties | Будет включать любые расширения в текущем сертификате, они относятся к сертификатам [конкретные настройки] для интерфейсов Windows. |
Enable certificate privacy | Обычно в экспортируемом PFX-файле шифруется только закрытый ключ, этот параметр шифрует все содержимое PFX-файла. |
Group or user names | Вы можете использовать участника безопасности группы или пользователя из Active Directory для шифрования содержимого файла PFX, но пароль является наиболее переносимым вариантом для устаревших систем или компьютеров, не присоединенных к тому же домену. |
Импорт сертификатов
Функция импорта одинакова для всех поддерживаемых типов файлов сертификатов. Единственная разница в том, что если файл содержит закрытый ключ, вы можете «Отметить этот ключ как экспортируемый», о чем вы узнаете подробнее ниже. Windows будет использовать мастер импорта сертификатов.
При использовании мастера импорта сертификатов для PFX вам потребуется указать пароль, используемый для шифрования закрытого ключа. Вот еще один обзор вариантов импорта.
Настройка | Описание |
---|---|
Enable strong private key protection | Требуется пароль для каждого доступа к закрытому ключу. Будьте осторожны с новыми функциями, поскольку они не будут поддерживаться во всех программах. |
Mark this key as exportable | Вы должны стараться избегать использования этого параметра в любой конечной системе, закрытые ключи следует рассматривать так же, как и хранение паролей. |
Protect private key using [virtualization-based security] | Этот параметр обеспечивает дополнительные функции безопасности для защиты закрытых ключей от сложных атак вредоносного ПО. |
Include all extended properties | Относится к тем же настройкам Windows, что и при экспорте. |
Сертификаты для подписи кода PowerShell — хороший вариант использования надежной защиты закрытого ключа.
С автоматическим размещением сертификатов следует проявлять осторожность. Скорее всего, вы получите наилучшие результаты, выбрав хранилище сертификатов вручную.
Импорт и экспорт сертификатов в PowerShell
Теперь с помощью PowerShell экспортируйте один из самозаверяющих сертификатов, которые вы создали ранее. В этом примере вы выбираете сертификат в личном логическом хранилище CurrentUser, который был самозаверяющим.
$certificate = Get-Item (Get-ChildItem -Path 'Cert:CurrentUserMy' | Where-Object {$_.Subject -eq $_.Issuer}).PSPath
Теперь, когда вы выбрали сертификат, вы можете использовать команду Export-Certificate, чтобы сохранить файл в кодировке DER, используя команду ниже.
Export-Certificate -FilePath $env:USERPROFILEDesktopcertificate.cer -Cert $certificate
Теперь давайте посмотрим на экспорт закрытого ключа. Ниже вы проверяете, что у выбранного сертификата есть закрытый ключ. Если он не возвращает True, то команда Get-Item, скорее всего, выбрала неправильный сертификат.
$certificate.HasPrivateKey
Ниже вы установите пароль, который будет использоваться для шифрования закрытого ключа. Затем экспортируйте выбранный сертификат в файл PFX и используйте пароль, который вы ввели ранее, чтобы зашифровать файл.
$pfxPassword = "ComplexPassword!" | ConvertTo-SecureString -AsPlainText -Force
Export-PfxCertificate -FilePath $env:USERPROFILEDesktopcertificate.pfx -Password $pfxPassword -Cert $certificate
В случае, если необходимо выполнить импорт, как и при экспорте, есть две команды. Одна команда для импорта сертификатов и одна для импорта файлов PFX.
Ниже команда Import-Certificate импортирует файл в формате DER, который вы экспортировали ранее, в личное хранилище текущего пользователя.
Import-Certificate -FilePath $env:USERPROFILEDesktopcertificate.cer -CertStoreLocation 'Cert:CurrentUserMy'
Допустим, вы тоже хотите установить закрытый ключ этого сертификата.
$pfxPassword = "ComplexPassword!" | ConvertTo-SecureString -AsPlainText -Force
Import-PfxCertificate -Exportable -Password $pfxPassword -CertStoreLocation 'Cert:CurrentUserMy' -FilePath $env:USERPROFILEDesktopcertificate.pfx
Имейте в виду, что пароль должен быть защищенной строкой. Кроме того, если вы импортируете в хранилище локального компьютера (например, «Cert:LocalMachine«), вам нужно будет запустить команду из командной строки администратора с повышенными привилегиями.
В приведенном выше примере вы также используете параметр -Exportable с командой, отмечая закрытый ключ как экспортируемый в будущем. По умолчанию (без указания этого параметра) экспорт не используется. Экспортируемые закрытые ключи – отельный аспект информационной безопасности, заслуживающий отдельного внимания.
Удаление сертификатов с помощью PowerShell
При удалении сертификатов помните, что понятие «Корзина Windows» в этом случае отсутствует. Как только вы удалите сертификат, он исчезнет! Это означает, что очень важно подтвердить, что вы удаляете правильный сертификат, путем проверки уникального идентификатора, такого как серийный номер или значение расширения Thumbprint.
Как и выше, в приведенной ниже команде мы выбираем самозаверяющий сертификат из личного хранилища текущего пользователя.
$certificate = Get-Item (Get-ChildItem -Path 'Cert:CurrentUserMy' | Where-Object {$_.Subject -eq $_.Issuer}).PSPath
Ниже вы можете увидеть свойства отпечатка, серийного номера и темы для выбранного сертификата, чтобы убедиться, что это именно тот сертификат, который вы собираетесь выбрать.
$certificate.Thumbprint
$certificate.SerialNumber
$certificate.Subject
Убедитесь, что вы выбрали правильный сертификат, который собираетесь удалить.
Приведенная ниже команда удаляет все выбранные объекты сертификата, используйте с осторожностью! Передав объект $certificate через конвейер в командлет Remove-Item в приведенной ниже команде, вы удалите все содержимое сертификата без каких-либо запросов на проверку.
$certificate | Remove-Item
Резюме
На протяжении всей этой статьи вы работали с сертификатами в Windows, изучая, как получить к ним доступ, и некоторые инструменты, которые можно использовать при работе с ними. По этой теме можно изучить гораздо больше, в том числе о том, как связать установленные сертификаты с конкретными службами или даже о том, как реализовать инфраструктуру закрытого открытого ключа (PKI) путем развертывания собственных центров сертификации (CA).
- Remove From My Forums
Добавить корневой сертификат на всех пользователей
-
Вопрос
-
Привет всем !
Как правильно добавить корневой Root CA и промежуточный Server CA сертификат. Чтоб он действовал на всех пользователей терминал сервера.
В одном профиле поставил Root CA , Server CA , и принял сертификат mail.domain.com так система перестала материться что мол издатель неизвестный.
Зашол под другим пользователем просматриваю сертификат mail.domain.com ( путей сертификации нет ) тоесть не видит сертификат Root CA , Server CA , сразу говорит что не может ни проверить и не знает издателя.
Ответы
-
ставь в корневые сертификаты хранилища машины а не пользователя. машинное можено открыть через mmc, добавив оснастку certificates — computer — local
или, если есть домен, то можно на все машины политикой
-
Помечено в качестве ответа
18 декабря 2012 г. 11:49
-
Помечено в качестве ответа
Содержание
- Как добавить сертификат Центра Сертификации (CA) в доверенные в Windows
- Как добавить корневой сертификат в доверенные в Windows на уровне системы
- Как добавить корневой сертификат в доверенные в Windows в веб браузеры
- Как установить корневые сертификаты Windows 10
- Как добавить корневые сертификаты Windows 10 вручную?
- Способ 1. Установите сертификаты из доверенных ЦС
- Способ 2. Установите сертификаты с помощью консоли управления Microsoft
- Как открыть «Хранилище сертификатов» в Windows 7
- Открываем «Хранилище сертификатов»
- Способ 1: Окно «Выполнить»
- Способ 2: Панель управления
- Ручное обновление корневых сертификатов на Windows
- Обновление сертификатов
- Получение актуальных сертификатов
- Установка/обновление корневых сертификатов
- Как установить сертификаты безопасности windows
- Обновление сертификатов (для всех версий Windows)
- Шаг 1. Удаление старых сертификатов из контейнера cacer.p7b
- Шаг 2. Удаление старого сертификата безопасности для веб-узла сroInform.ru
- Обратите внимание:
Как добавить сертификат Центра Сертификации (CA) в доверенные в Windows
Как добавить корневой сертификат в доверенные в Windows на уровне системы
1. Мастер импорта сертификатов
Если сертификат имеет расширение .crt, то его достаточно запустить двойным кликом:
В открывшемся окне нажмите кнопку «Установить сертификат»:
Выберите один из вариантов:
Выберите «Пометить все сертификаты в следующие хранилища»:
Нажмите кнопку «Обзор» и выберите «Доверенные корневые центры сертификации»:
Нажмите «Далее»:
Нажмите «Готово»:
Сообщение об успешном импорте:
Теперь сертификат будет доступен в Менеджере Сертификатов:
2. Добавление root CA сертификата в Менеджере Сертификатов
Чтобы открыть Менеджер Сертификатов нажмите Win+r, введите в открывшееся поле и нажмите Enter:
Кликните правой кнопкой мыши по пункту «Доверенные корневые центры сертификации», выберите пункт «Все задачи» → «Импорт»:
Нажмите «Далее»:
Укажите папку и имя файла:
Нажмите «Далее»:
Теперь действительно всё готово:
Только что импортированный сертификат в Менеджере Сертификатов:
Как добавить корневой сертификат в доверенные в Windows в веб браузеры
Chrome, Chromium, Opera и сделанные на их основе веб браузеры используют общесистемные корневые CA сертификаты. То есть для добавления новых доверенных CA достаточно добавить их в систему, как это показано выше.
Firefox использует исключительно своё хранилище. Для добавления корневых сертификатов CA в Firefox нужно сделать так:
Нажмите кнопку «Импортировать»:
Выберите файл с сертификатом.
Укажите, какие полномочия вы даёте этому сертификату:
Для глубокого понимания OpenSSL смотрите также полное руководство: «OpenSSL: принципы работы, создание сертификатов, аудит».
Источник
Как установить корневые сертификаты Windows 10
Корневые сертификаты – это сертификаты открытых ключей, которые помогают вашему браузеру определить, является ли общение с веб-сайтом подлинным, и основано на том, является ли орган, выдавший лицензию, доверенным и остается ли цифровой сертификат действительным. Если цифровой сертификат не принадлежит доверенному органу, вы получите сообщение об ошибке в виде « Проблема с сертификатом безопасности этого веб-сайта », и браузер может заблокировать связь с веб-сайтом.
Windows 10 имеет встроенные сертификаты и автоматически обновляет их. Однако вы все равно можете вручную добавить дополнительные корневые сертификаты в Windows 10 из центров сертификации (ЦС). Существует множество органов по выдаче сертификатов, среди которых наиболее известны Comodo и Symantec.
Как добавить корневые сертификаты Windows 10 вручную?
Способ 1. Установите сертификаты из доверенных ЦС
Вот как вы можете добавить цифровые сертификаты в Windows 10 из доверенных центров сертификации.
Способ 2. Установите сертификаты с помощью консоли управления Microsoft
Теперь вы установили новый доверенный корневой сертификат в Windows 10. Таким же образом вы можете добавить еще много цифровых сертификатов для этой ОС и других платформ Windows. Просто убедитесь, что сторонние цифровые сертификаты поступают от доверенных центров сертификации, таких как GoDaddy, DigiCert, Comodo, GlobalSign, Entrust и Symantec.
Источник
Как открыть «Хранилище сертификатов» в Windows 7
Открываем «Хранилище сертификатов»
Чтобы просмотреть сертификаты в Виндовс 7, заходим в ОС с правами администратора.
Необходимость в доступе к сертификатам особенно важна для пользователей, которые часто совершают платежи в интернете. Все сертификаты хранятся в одном месте, так называемом Хранилище, которое разбито на две части.
Способ 1: Окно «Выполнить»
В папках «Доверенные корневые центры сертификации» и «Промежуточные центры сертификации» находится основной массив сертификатов Виндовс 7.
Переходим во вкладку «Общие». В разделе «Сведения о сертификате» будет отображено предназначение каждой цифровой подписи. Также представлена информация «Кому выдан», «Кем выдан» и сроки действия.
Способ 2: Панель управления
Также есть возможность посмотреть сертификаты в Windows 7 через «Панель управления».
После прочтения данной статьи вам не составит никакого труда открыть «Хранилище сертификатов» Windows 7 и узнать подробную информацию о свойствах каждой цифровой подписи в вашей системе.
Помимо этой статьи, на сайте еще 12363 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Источник
Ручное обновление корневых сертификатов на Windows
Актуальные системы семейства Windows, подключенные к Интернету, могут автоматически обновлять корневые сертификаты. В противном случае, обновление необходимо выполнять вручную. Если это не делать, мы можем столкнуться с рядом проблем:
Это пример ошибок, который не претендует на свою полному. Чаще всего, проблемы встречаются на системах, снятых с обслуживания компанией Microsoft (Windows XP, 7, а также Server 2003, 2008).
Обновление сертификатов
Обновление доверенных корневых сертификатов выполняется во время обновления операционной системы. Если последнее включено, то нашего участия не требуется, иначе, можно установить обновление вручную. Пример такого пакета — KB931125.
Однако, если операционная система устарела, разработчик прекращает выпуск обновлений, и мы не можем воспользоваться средствами обновления системы. В таком случае, необходимо сделать выгрузку корневых сертификатов на актуальной системе и перенести их на устаревший.
Получение актуальных сертификатов
Для начала, выгрузим сертификаты на компьютере с актуальной версией Windows (10) и подключением к сети Интернет.
Создадим каталог, в который будет выгружен файл с корневыми сертификатами, например, C:CA (папка CA на диске C).
Открываем командную строку от администратора и вводим команду:
* где C:CA — каталог, который мы создали; roots.sst — файл, в который будут выгружены сертификаты.
* если мы получили ошибку Не удается найти указанный файл. 0x80070002, то необходимо убедиться, что каталог CA создан (в нашем примере в корне диска С).
В папке C:CA мы должны увидеть файл roots.sst.
Установка/обновление корневых сертификатов
Полученный на предыдущем этапе файл переносим на компьютер, где необходимо обновить доверенные корневые сертификаты, например, также в папку C:CA. Скачиваем утилиту rootsupd и распаковываем ее в этот же каталог.
Открываем командную строку от администратора и вводим команду:
C:CArootsupd.exe /c /t:C:CA
* где C:CA — папка, в которую мы перенесли корневые сертификаты.
В появившемся окне Roots Update:
. выбираем No, чтобы не переписывать наш файл roots.sst.
В папке C:CA должны появится новые файлы, в том числе, утилита updroots. Вводим теперь команду:
Источник
Как установить сертификаты безопасности windows
На данный момент работа через защищённое соединение c устройств Apple не поддерживается.
На данный момент работа через защищённое соединение c Android-устройств не поддерживается.
Обновление сертификатов (для всех версий Windows)
Шаг 1. Удаление старых сертификатов из контейнера cacer.p7b
В проводнике наберите в адресной строке адрес: «mmc.exe» (без кавычек) и нажмите Enter.
Откроется окно консоли управления Microsoft.
В основном меню консоли, выберите «Файл» — «Добавить или удалить оснастку». Будет открыто окно «Добавление и удаление оснасток».
В левом списке выберите пункт «Сертификаты» и нажмите на кнопку «Добавить». Будет открыто окно «Оснастка диспетчера сертификатов».
Нажмите на кнопку «Готово». Окно «Оснастка диспетчера сертификатов» будет закрыто, Вы вернетесь в окно консоли управления Microsoft.
В левом списке раскройте дерево «Сертификаты — текущий пользователь». Раскройте пункт «Доверенные корневые центры сертификации». Выберите пункт «Сертификаты». В центральной части будут отображены сертификаты выбранного раздела.
В списке сертификатов (центральная часть) найдите сертификаты, выданные УЦ КРИПТО-ПРО (6 сертификатов). Выделите найденные сертификаты и нажмите правую кнопку мыши. В контекстном меню выберите пункт «Удалить».
Будет открыто окно предупреждения. Сертификаты КРИПТО-ПРО не являются ключевыми и могут быть удалены без последствий. Нажмите «Да».
Перед удалением каждого из сертификатов контейнера будет выводиться окно подтверждения на удаление. Во всех окнах следует нажать кнопку «Да»
Шаг 2. Удаление старого сертификата безопасности для веб-узла сroInform.ru
В левом списке раскройте дерево «Сертификаты — текущий пользователь». Раскройте пункт «Другие пользователи». Выберите пункт «Сертификаты».
Нажмите правой кнопкой мыши на сертификате ssl.croinform.cer. В контекстном меню выберите пункт «Удалить».
Появится окно предупреждения. Нажмите «Да». Сертификат ssl.croinform.cer будет удален.
Обратите внимание:
После удаления необходимо установить новые версии сертификатов. Для установки сертификатов, воспользуйтесь инструкцией для Вашей операционной системы:
Источник