77 lines
4.9 KiB
Markdown
77 lines
4.9 KiB
Markdown
|
### ssl-gen
|
|||
|
*Self signed SSL certs generator*
|
|||
|
|
|||
|
Use `gen-root.sh` for create rootCA cert
|
|||
|
Use `gen-cert.sh mysite.localhost` for create certs for domains
|
|||
|
|
|||
|
The script is written based on this article:
|
|||
|
https://habr.com/ru/articles/352722/
|
|||
|
|
|||
|
|
|||
|
https://labcollector.com/support/knowledge-base/how-to-install-root-ca-certificate-in-windows/
|
|||
|
Как установить сертификаты в Windows?
|
|||
|
Шаг 1. Откройте диспетчер сертификатов.
|
|||
|
1. Нажмите горячую клавишу ` Win + R` , чтобы открыть диалоговое окно «Выполнить».
|
|||
|
2. Введите ` certmgr.msc` и нажмите Enter. Это действие откроет диспетчер сертификатов.
|
|||
|
Шаг 2. Доступ к доверенным корневым центрам сертификации
|
|||
|
3. В окне «Диспетчер сертификатов» перейдите к папке «Доверенные корневые центры сертификации» на левой панели.
|
|||
|
4. Щелкните правой кнопкой мыши «Сертификаты» в этой папке, чтобы открыть контекстное меню.
|
|||
|
Шаг 3. Импортируйте корневой сертификат ЦС.
|
|||
|
5. В контекстном меню выберите «Все задачи» > «Импорт». Откроется Мастер импорта сертификатов.
|
|||
|
6. Нажмите кнопку «Далее», чтобы продолжить.
|
|||
|
7. Нажмите кнопку «Обзор», чтобы найти файл сертификата корневого центра сертификации (« rootCA.pem »), сохраненный на вашем жестком диске. Выберите файл и нажмите «Открыть».
|
|||
|
8. Нажмите «Далее» еще раз, чтобы выбрать опцию «НЕ Автоматически выбирать хранилище сертификатов в зависимости от типа сертификата».
|
|||
|
9. Наконец, нажмите «Далее» > «Готово», чтобы завершить работу мастера импорта. Появится окно подтверждения, сообщающее, что « импорт прошел успешно.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
---------------------------------------------------------------------------------
|
|||
|
|
|||
|
**TODO** `chatgpt`
|
|||
|
Да, можно автоматизировать процесс импорта сертификатов в Windows с помощью PowerShell. Давайте создадим скрипт, который выполнит все ваши шаги.
|
|||
|
|
|||
|
```powershell
|
|||
|
# Задайте путь к вашему сертификату
|
|||
|
$certPath = "C:\path\to\rootCA.pem" # Убедитесь, что вы замените это на фактический путь к вашему файлу сертификата.
|
|||
|
|
|||
|
# Импортируйте сертификат в доверенные корневые сертификаты
|
|||
|
function Import-RootCert {
|
|||
|
param (
|
|||
|
[string]$certPath
|
|||
|
)
|
|||
|
|
|||
|
try {
|
|||
|
# Откройте стор по умолчанию LocalMachine\Root (Trusted Root Certification Authorities)
|
|||
|
$store = New-Object System.Security.Cryptography.X509Certificates.X509Store("Root", [System.Security.Cryptography.X509Certificates.StoreLocation]::LocalMachine)
|
|||
|
|
|||
|
# Откройте хранилище и установите флаг для разрешения записи
|
|||
|
$store.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)
|
|||
|
|
|||
|
# Чтение сертификата из файла на диске
|
|||
|
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2
|
|||
|
$cert.Import($certPath)
|
|||
|
|
|||
|
# Добавьте сертификат в хранилище
|
|||
|
$store.Add($cert)
|
|||
|
|
|||
|
# Закройте хранилище
|
|||
|
$store.Close()
|
|||
|
|
|||
|
Write-Output "Импорт завершен успешно."
|
|||
|
} catch {
|
|||
|
Write-Error "Ошибка: $_"
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
# Вызов функции импорта сертификата
|
|||
|
Import-RootCert -certPath $certPath
|
|||
|
```
|
|||
|
|
|||
|
Эти шаги выполнятся при запуске скрипта в PowerShell от имени администратора:
|
|||
|
|
|||
|
1. Установите путь к вашему сертификату, заменив значение в переменной `$certPath`.
|
|||
|
2. Запустите PowerShell от имени администратора.
|
|||
|
3. Выполните скрипт, вставив его в PowerShell или сохранив его в файл `.ps1` и запустив этот файл.
|
|||
|
|
|||
|
Команды PowerShell выполнит все шаги по импорту сертификата в доверенные корневые сертификаты.
|