Использование сертификата Let’s Encrypt

На нашем CentOS 7 с веб-сервером nginx и haproxy перед ним, получим бесплатный сертификат для одного сайта.

Настройка и получение первого сертификата

Для получения сертификата и последующего обновления будем использовать программку cetbot с плагином webroot.
Этот способ не предполагает остановки веб-сервера для получения сертификата или вмешательства в DNS.

Read moreИспользование сертификата Let’s Encrypt

Создание самоподписанного сертификата

Оснастка IIS

Внимание! При создании самоподписанного сертификата через консоль Internet Information Manager (пункт меню Create Self-Signed Certificate), создается сертификат с использованием алгоритма шифрования SHA-1. Такой алгоритм уже считается устаревшим и браузеры могут выдавать предупреждение о ненадёжности, даже если сертификат установлен в доверенные.

Поэтому лучше воспользоваться методом powershell или другим.

Powershell

В Windows 10/8.1 и Windows Server 2016/2012R2 можно использовать командлет New-SelfSignedCertificate, входящий в состав модуля PKI (Public Key Infrastructure).
Запускать команду необходимо с правами администратора, иначе будет ошибка доступа в ветку LocalMachine.

New-SelfSignedCertificate -DnsName *.domain.com -CertStoreLocation cert:\LocalMachine\My -FriendlyName "*.domain.com (self-signed)" -NotAfter [datetime]::now.AddYears(5)

Документация от Microsoft по командлету и по модулю PKI.

Также, очень полезная статья от Вадимса Поданса:
https://www.sysadmins.lv/blog-en/self-signed-certificate-creation-with-powershell.aspx

OpenSSL под Windows

Скачать можно тут:

https://slproweb.com/products/Win32OpenSSL.html

Создание CSR с помощью OpenSSL

openssl req –new –newkey rsa:2048 –nodes –keyout yourdomain.key –out yourdomain.csr

Далее в интерактивном режиме будут запрошены дополнительные данные.

Пропустить заполнение ненужных полей можно введя символ точки .

Проверка СSR запроса

openssl req -in yourdomain.csr -noout -text

Преобразование PFX в PEM и обратно

Установка OpenSSL

  1. Качаем и устанавливаем OpenSSL для Windows отсюда: https://slproweb.com/products/Win32OpenSSL.html
  2. Там же берём и устанавливаем C++ re-distributable

PFX to PEM

Открываем командную строку, переходим в папку с исполняемым файлом openssl.exe, запускаем следующее (пути и домен поправить под своё):

openssl pkcs12 -nodes -in "c:\Temp\ss_certs\domain.com.pfx" -nocerts -out "c:\Temp\ss_certs\domain.com.key"
openssl pkcs12 -nodes -in "c:\Temp\ss_certs\domain.com.pfx" -out "c:\Temp\ss_certs\domain.com.pem"

При этом нужно будет два раза ввести пароль от pfx,указанный при экспорте.

PEM to PFX

openssl pkcs12 -inkey "c:\Temp\ss_certs\domain.com.key" -in "c:\Temp\ss_certs\domain.com.crt" -export -out "c:\Temp\ss_certs\domain.com.pfx"

При этом нужно будет ввести пароль для защиты pfx