Створення користувацького (самозавіреного) сертифіката SSL

Створення самозавіреного сертифіката за допомогою оболонки Windows PowerShell

Створіть спеціальний сертифікат SSL та імпортуйте його в основні сховища Windows Server 2012 R2.

1.Відкрийте Window PowerShell.

2.Виконайте таку команду:

a.$customcertificate = New-SelfSignedCertificate -DnsName "<FQDN>" -CertStoreLocation "cert:\localmachine\my"
 
У наведеній вище команді замініть <FQDN> відповідною версією імені суб’єкта, що відображається в ESA Web Console (Components > Invitations > Server access).
Якщо ви визначаєте кілька імен DnsName, наприклад:
-DnsName "my.esa.installation.com", "my.authentication.server", "twofactor.auth"
 
Перший запис (у прикладі вище – "my.esa.installation.com") використовуватиметься в полі сертифіката Subject, а наступні – у полі Subject Alternative Name.

b.$exportpassword = ConvertTo-SecureString -String '<password>' -Force -AsPlainText

У команді вище замініть <password> вашим паролем.

c.$certPath = 'cert:\localMachine\my\' + $customcertificate.thumbprint

d.Export-PfxCertificate -cert $certPath -FilePath $env:USERPROFILE\Desktop\ESAcustomCertificate.pfx -Password $exportpassword

Після виконання цієї останньої команди сертифікат ESAcustomCertificate.pfx з’явиться на вашому робочому столі.

3. Відкрийте діалогове вікно Run, натиснувши клавіші Windows + R.

4.Додайте оснастку сертифікатів:

a.Введіть mmc і натисніть Enter.

b.Натисніть Файл -> Додати/видалити оснастку.

c.Виберіть Сертифікати > Додати.

d.Виберіть Обліковий запис комп’ютера, натисніть кнопку Далі, потім — кнопку Готово. Натисніть кнопку ОК, щоб закрити вікно Інсталяція й видалення оснасток.

5.Імпортуйте відповідний сертифікат:

a.На лівій панелі MMC розгорніть Certificates (Local Computer) > Personal й клацніть Certificates правою кнопкою миші.

b.Послідовно виберіть пункти All Tasks > Import.

c.У майстрі імпорту натисніть кнопку Next, потім — кнопку Browse. У списку розширень файлів виберіть "Обмін приватними відомостями (*.pfx, *.p12)", зайдіть експортований файл сертифіката, натисніть кнопку Open, а потім — кнопку Next.

d.Введіть пароль, заданий у другій команді з п. 2, і натисніть кнопку Next.

e.Виберіть Place all certificates in the following store та введіть "Personal" у полі назви сховища. Після цього натисніть спершу Next, а потім – Finish.

6.На лівій панелі MMC розгорніть Сертифікати (локальний комп’ютер) > Довірені кореневі центри сертифікації, правою кнопкою миші клацніть Сертифікати.

7.Послідовно виберіть пункти All Tasks > Import і заново виконайте кроки 6a–6c.

8.Двічі клацніть сертифікат Certificates (Local Computer) > Personal > Certificates, щоб відобразився рядок You have a private key that corresponds to this certificate.

Якщо вам потрібні файли .crt та .key замість .pfx, конвертуйте .pfx у .crt та .key за допомогою OpenSSL або іншого рекомендованого метода.

Конвертація .pfx у .crt та .key за допомогою OpenSSL

Перевірте, чи інстальовано OpenSSL для Windows, і виконайте команди нижче.

openssl pkcs12 -in D:\ESAcustomCertificate.pfx -clcerts -nokeys -out D:\ESAcustomCertificate.crt

Коли відкриється вікно Enter Import Password, введіть пароль, заданий у команді Export-PfxCertificate під час створення сертифіката за допомогою оболонки Windows PowerShell.

openssl pkcs12 -in D:\ESAcustomCertificate.pfx -nocerts -out D:\ESAcustomCertificate_encrypted.key

У полі Enter PEM pass phrase укажіть новий пароль довжиною принаймні чотири символи.

openssl rsa -in D:\ESAcustomCertificate_encrypted.key -out D:\ESAcustomCertificate.key

За запитом повторно введіть пароль, заданий у полі Enter PEM pass phrase.

 

Створення самозавіреного сертифіката за допомогою OpenSSL

Перевірте, чи інстальовано OpenSSL для Windows.

Створення файлу конфігурації

Щоб уникнути попередження "Invalid certificate", у файлі ESAcustomCertificate.conf має бути вказано список альтернативних імен DNS, за якими доступний сервер автентифікації. Після виконання команди, яку вказано вище, будуть сформовані файли newKey.rsa й newCertificate.crt.

Приклад вмісту файлу ESAcustomCertificate.conf:

[ req ]

default_bits       = 4096

distinguished_name = req_distinguished_name

req_extensions     = req_ext

x509_extensions    = x509_ext

 

[ req_distinguished_name ]

countryName                 = Country Name (2 letter code)

countryName_default         = SK

stateOrProvinceName         = State or Province Name (full name)

stateOrProvinceName_default = Slovakia

localityName                = Locality Name (eg, city)

localityName_default        = Bratislava

organizationName            = Organization Name (eg, company)

organizationName_default    = My company running ESA

commonName                  = Common Name (e.g. server FQDN)

commonName_default          = my.esa.installation.com

 

[ req_ext ]

subjectAltName = @alternative_names

 

[ x509_ext ]

subjectAltName = @alternative_names

 

[alternative_names]

DNS.1   = my.esa.installation.com

DNS.2   = my.authentication.server

DNS.3   = twofactor.auth

DNS.4   = 192.168.0.1

IP.1    = 192.168.0.1

Генерація ключа й сертифіката OpenSSL за допомогою командного рядка Windows

openssl req -config D:\ESAcustomCertificate.conf -new -x509 -sha256 -newkey rsa:2048 -nodes -keyout D:\ESAcustomCertificate.key -days 365 -out D:\ESAcustomCertificate.crt

ЯкщоcommonName правильно попередньо настроєно в конфігураційному файлі, натисніть Enter, коли з’явиться запит CommonName.