ssl-gen/readme.md
2024-07-05 10:44:48 +00:00

77 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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