Доброго времени суток! Сегодня расскажем вам о том, как сделать самоподписанный SSL сертификат безопасности в Windows при помощи PowerShell.
! Запускать PShell нужно от имени администратора !
Такие сертификаты используются в тестовых целях и для обеспечения сертификации внутренних служб).
Для создания сертификата понадобится использовать командлет New-SelfSignedCertificate, который входит в состав модуля PKI.
Выводим список всех доступных командлетов, командой:
Get-Command -Module PKI
Для создания, нужно указать значения DnsName (DNS имя сервера) и CertStoreLocation (раздел локального хранилища, куда попадет сертификат).
Чтобы сохранить сертификат типа SSLServerAuthentication, для DNS имени (в котором указывается FQDN имя) и поместить его в список персональных сертификатов компьютера, необходимо выполнить команду:
New-SelfSignedCertificate -DnsName test.domen.com -CertStoreLocation cert:\LocalMachine\My
Directory: Microsoft.PowerShell.Security\Certificate::LocalMachine\My
Thumbprint Subject
---------- -------
2779C0490D558B31AAA0CEF2F6EB1A5C2CA83B30 CN=test.domen.com
Обычно генерируется сертификат с такими параметрами:
- Алгоритм: RSA
- Размер ключа: 2048 бит
- Срок действия сертификата: 1 год.
Команда выше создаст новый сертификат и импортирует его в локальное хранилище. Посмотреть можно открыв certlm.msc в разделе Personal
А с помощью Get-ChildItem можно вывести список параметров сертификата.
Пишем эту команду:
Get-ChildItem -Path "Cert:\LocalMachine\My" | Where-Object Thumbprint -eq DC1A0FDE0120085A45D8E14F870148D1EBCB82AE | Select-Object *
И наблюдаем:
Вот такими не сложными манипуляциями, мы создали самоподписанный SSL сертификат, который может пригодиться в локальных целях. В работе с продом, желательно использовать решения от известных компаний.