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 выполнит все шаги по импорту сертификата в доверенные корневые сертификаты. |