пятница, 7 августа 2020 г.

Создаём self-signed certificate

 Например, есть домен, поднимаем ADFS, но проблема - домен вида localdomain.loc. То есть мы не способны сделать нормальный сертификат, .loc невозможно купить. Значит, поднимаем свой RootCA и уже с ним выписываем сертификаты на нужные домены.

Вообще, в винде есть такая служба "центр сертификации", но например если у нас AWS AD то поставить мы не сможем - там нужен юзер уровня domain administrator, но амазон такого не даёт. Но есть варианты через PowerShell.

Создаём корневой сертификат

$rootcert = New-SelfSignedCertificate -CertStoreLocation Cert:\LocalMachine\My -DnsName "RootCA" -TextExtension @("2.5.29.19={text}CA=true") -KeyUsage CertSign,CrlSign,DigitalSignature

Cert:\LocalMachine\My - в данном случае эти имена жёстко заданы, вместо LocalMachine может быть CurrentUser, но это надо идти в документацию.

Добавляем пароль и экспортируем

[System.Security.SecureString]$rootcertPassword = ConvertTo-SecureString -String "password" -Force -AsPlainText

[String]$rootCertPath = Join-Path -Path 'cert:\LocalMachine\My\' -ChildPath "$($rootcert.Thumbprint)"

Export-PfxCertificate -Cert $rootCertPath -FilePath 'RootCA.pfx' -Password $rootcertPassword

Export-Certificate -Cert $rootCertPath -FilePath 'RootCA.crt'

Экспорты будут в текущий каталог, если надо - можно добавить -FilePath c:\....

Основной сертификат

Теперь делаем сам сертификат, выставив срок 3 года (штатно 1 год)

$date_now = Get-Date

$extended_date = $date_now.AddYears(3)

$cert = New-SelfSignedCertificate -certstorelocation cert:\localmachine\my -dnsname localdomain.loc -notafter $extended_date -KeyLength 4096 -KeyExportPolicy Exportable -KeyUsage DigitalSignature,KeyEncipherment -Signer $rootcert

[String]$testCertPath = Join-Path -Path 'cert:\LocalMachine\My\' -ChildPath "$($cert.Thumbprint)"

Export-PfxCertificate -Cert $testCertPath -FilePath c:\localdomain.pfx -Password $rootcertPassword

Если требуется несколько поддоменов - будет так

-dnsname localdomain.loc,www.localdomain.loc


Также, там может понадобиться добавить RootCA в Trusted Root Certification Authorities, как на той машине где создали, так и на всех кто должен доверять этому сертификату. Это можно сделать через import certificate, взять например .crt из тех что мы экспортировали в начале.

Линки

How to Enable Your Users to Access Office 365 with AWS Managed Microsoft AD | AWS Security Blog https://aws.amazon.com/jp/blogs/security/how-to-enable-your-users-to-access-office-365-with-aws-microsoft-active-directory-credentials/

Generating self-signed certificates on Windows | by Rory Braybrook | The new control plane | Medium https://medium.com/the-new-control-plane/generating-self-signed-certificates-on-windows-7812a600c2d8

Практическое руководство. Создание временных сертификатов для использования во время разработки - WCF | Microsoft Docs https://docs.microsoft.com/ru-ru/dotnet/framework/wcf/feature-details/how-to-create-temporary-certificates-for-use-during-development

New-SelfSignedCertificate https://docs.microsoft.com/en-us/powershell/module/pkiclient/new-selfsignedcertificate?view=win10-ps


1 комментарий:

  1. Я Хелена Джуліо з Еквадору, я хочу добре поговорити про пана Бенджаміна на цю тему. надає мені фінансову підтримку, коли всі банки у моєму місті відхилили моє прохання надати мені позику у розмірі 500 000,00 доларів США, я намагався отримати все можливе, щоб отримати позику у моїх банків тут, в Еквадорі, але всі вони відмовили мені, оскільки кредит у мене був низький, але з Божою милістю я дізнався про пана Бенджаміна, тому вирішив спробувати подати заявку на позику. з доброю волею вони нададуть мені позику в 500 000,00 доларів США. запит на позику, який мені відмовили мої банки в Еквадорі, було надзвичайно чудовим з ними вести бізнес, і зараз мій бізнес іде добре. електронною поштою / контактом WhatsApp, якщо ви хочете подати заявку на позику у них. 247officedept@gmail.com WhatsApp контакт: + 1-989-394-3740.

    ОтветитьУдалить