автоматизированный_запрос_к_цс_из_powershell

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
автоматизированный_запрос_к_цс_из_powershell [2023/05/30 15:07] jpавтоматизированный_запрос_к_цс_из_powershell [2023/06/02 09:36] (current) – [Импортировать сертификат с закрытым ключом] jp
Line 1: Line 1:
 ===== Автоматизированный запрос к ЦС из PowerShell ===== ===== Автоматизированный запрос к ЦС из PowerShell =====
  
-Иногда нам нужно запросить сертификат у ЦС (в существующей PKI) из PowerShell. +Иногда нам нужно запросить сертификат у ЦС (в уже существующей PKI) из PowerShell. 
  
 К примеру, это может потребоваться, если нам требуется издать сертификат для сервера, работающего на Windows Core. В этом случае, даже если мы подключимся оснасткой управления сертификатами удаленно - там не будет опции //request new certificate//, а будет возможность только сформировать offline-запрос к ЦС, что не всегда подходит по разным причинам.  К примеру, это может потребоваться, если нам требуется издать сертификат для сервера, работающего на Windows Core. В этом случае, даже если мы подключимся оснасткой управления сертификатами удаленно - там не будет опции //request new certificate//, а будет возможность только сформировать offline-запрос к ЦС, что не всегда подходит по разным причинам. 
Line 7: Line 7:
 В таком случае делаем следующее. В таком случае делаем следующее.
  
-1. Перемещаемся в локальное хранилище:+1. Перемещаемся в локальное хранилище
  
    cd Cert:\LocalMachine\My    cd Cert:\LocalMachine\My
-2. Создаем запрос к ЦС, используя нужный шаблон:+2. Создаем запрос к ЦС, используя нужный шаблон
 <WRAP prewrap> <WRAP prewrap>
 <code> <code>
Line 20: Line 20:
 :!: //Файл в таком случае не нужно копировать на сервер, с которого был послан запрос.// :!: //Файл в таком случае не нужно копировать на сервер, с которого был послан запрос.//
  
-4. Смотрим номер запроса, который мы послали на ЦС, используя данный командлет:+4. Смотрим номер запроса, который мы послали на ЦС, используя данный командлет
  
    Get-ChildItem -Path cert:\LocalMachine\Request\    Get-ChildItem -Path cert:\LocalMachine\Request\
Line 27: Line 27:
 <code> <code>
 $request = Get-ChildItem -Path Cert:\LocalMachine\Request\BD4211189267CDA4B69BAD32EDFCC68319AD41E $request = Get-ChildItem -Path Cert:\LocalMachine\Request\BD4211189267CDA4B69BAD32EDFCC68319AD41E
 +Get-Certificate -Request $request
 </code> </code>
 +
 +6. Проверяем, что сертификат с закрытым ключом появился там, куда мы его и запрашивали - в хранилище //personal// локального компьютера.
 +
 +----
 +
 +==== Экспортировать сертификат с закрытым ключом ====
 +<WRAP prewrap>
 +<code>
 +$mypwd = ConvertTo-SecureString -String '1234' -Force -AsPlainText
 +Get-ChildItem -Path Cert:\LocalMachine\My\553D577966D66F90F1EF711ABB40E3C027786FE9 | Export-PfxCertificate -FilePath C:\mypfx.pfx -Password $mypwd
 +</code>
 +</WRAP>
 +
 +----
 +
 +==== Импортировать сертификат с закрытым ключом ====
 +
 +Предположим, что нам требуется импортировать сертификат с закрытым ключом из PFX-файла в хранилище сертификатов локального компьютера. Сертификат защищен паролем.
 +
 +В этом случае, мы сначала перемещаемся в хранилище сертификатов локального компьютера, затем вызываем диалог запроса пароля и сохраняем его в переменную, а потом импортируем сертификат в локальное хранилище, передавая в качестве параметра пароль.
 +
 +<code>
 +Set-Location -Path Cert:\LocalMachine\My
 +$mypwd = Get-Credential -UserName 'Enter password below' -Message 'Enter password below'
 +Import-PfxCertificate -FilePath C:\certs\cert.pfx -Password $mypwd.password
 +</code>
 +
 +{{tag>Certificates PKI ADCS Microsoft Windows PowerShell}}
автоматизированный_запрос_к_цс_из_powershell.1685459268.txt.gz · Last modified: 2023/05/30 15:07 by jp