Створення користувацького (самозавіреного) сертифіката 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.