Önaláírt nyilvános tanúsítvány létrehozása az alkalmazás hitelesítéséhez

A Microsoft Entra ID kétféle hitelesítést támogat a szolgáltatásnevek esetében: jelszóalapú hitelesítést (alkalmazáskulcsot) és tanúsítványalapú hitelesítést. Bár az alkalmazás titkos kulcsait egyszerűen létrehozhatja az Azure Portalon, vagy használhat microsoft API-t, például a Microsoft Graphot, hosszú élettartamúak, és nem olyan biztonságosak, mint a tanúsítványok. Ezért ajánlott, hogy az alkalmazás titkos kulcs helyett tanúsítványt használjon.

Teszteléshez a hitelesítésszolgáltató (CA) által aláírt tanúsítvány helyett használhat önaláírt nyilvános tanúsítványt. Ebben az útmutatóban a PowerShell használatával hozhat létre és exportálhat önaláírt tanúsítványt.

Figyelemfelhívás

Az önaláírt tanúsítványok olyan digitális tanúsítványok, amelyeket nem egy megbízható külső hitelesítésszolgáltató ír alá. Az önaláírt tanúsítványokat az aláírt webhelyért vagy szoftverért felelős vállalat vagy fejlesztő hozza létre, bocsátja ki és írja alá. Ezért minősülnek az önaláírt tanúsítványok a nyilvános webhelyek és alkalmazások számára nem biztonságosnak.

A tanúsítvány PowerShell-lel történő létrehozásakor olyan paramétereket adhat meg, mint a titkosítási és kivonatolási algoritmusok, a tanúsítvány érvényességi időtartama és a tartománynév. A tanúsítvány ezután exportálható a titkos kulccsal vagy anélkül az alkalmazás igényeitől függően.

A hitelesítési munkamenetet kezdeményező alkalmazáshoz a titkos kulcsra van szükség, míg a hitelesítést erősítő alkalmazáshoz a nyilvános kulcsra van szükség. Ha tehát az asztali PowerShell-alkalmazásból a Microsoft Entra-azonosítóba szeretne hitelesíteni, akkor csak a nyilvános kulcsot (.cer fájlt) exportálja, és feltölti az Azure Portalra. A PowerShell-alkalmazás a helyi tanúsítványtároló titkos kulcsával kezdeményezi a hitelesítést, és hozzáférési jogkivonatokat szerez be a Microsoft API-k, például a Microsoft Graph meghívásához.

Előfordulhat, hogy az alkalmazás egy másik gépről, például az Azure Automationből is fut. Ebben a forgatókönyvben exportálja a nyilvános és a titkos kulcspárt a helyi tanúsítványtárolóból, feltölti a nyilvános kulcsot az Azure Portalra, a titkos kulcsot (egy .pfx-fájlt ) pedig az Azure Automationbe. Az Azure Automationben futó alkalmazás a titkos kulccsal kezdeményezi a hitelesítést, és hozzáférési jogkivonatokat szerez be a Microsoft API-k, például a Microsoft Graph meghívásához.

Ez a cikk a New-SelfSignedCertificate PowerShell-parancsmaggal hozza létre az önaláírt tanúsítványt és a Export-Certificate parancsmagot, hogy könnyen elérhető helyre exportálja. Ezek a parancsmagok beépítettek a Windows modern (Windows 8.1 és újabb, valamint Windows Server 2012R2 és újabb) verzióihoz. Az önaláírt tanúsítvány a következő konfigurációval rendelkezik:

  • 2048 bites kulcshossz. Bár a hosszabb értékek támogatottak, a 2048 bites méret erősen ajánlott a biztonság és a teljesítmény legjobb kombinációjához.
  • Az RSA titkosítási algoritmust használja. A Microsoft Entra ID jelenleg csak az RSA-t támogatja.
  • A tanúsítvány az SHA256 kivonatoló algoritmussal van aláírva. A Microsoft Entra ID az SHA384 és SHA512 kivonatoló algoritmusokkal aláírt tanúsítványokat is támogatja.
  • A tanúsítvány csak egy évig érvényes.
  • A tanúsítvány az ügyfél- és kiszolgálóhitelesítéshez is támogatott.

A tanúsítvány kezdő és lejárati dátumának és egyéb tulajdonságainak testreszabásához tekintse meg a New-SelfSignedCertificate parancsot.

Nyilvános tanúsítvány létrehozása és exportálása

Használja az ezzel a módszerrel létrehozott tanúsítványt a számítógépről futó alkalmazásból történő hitelesítéshez. Hitelesítés például a PowerShell-lel.

Egy PowerShell-parancssorban futtassa a következő parancsot, és hagyja nyitva a PowerShell-konzol munkamenetét. Cserélje le {certificateName} azt a nevet, amelyet meg szeretne adni a tanúsítványnak.

$certname = "{certificateName}"    ## Replace {certificateName}
$cert = New-SelfSignedCertificate -Subject "CN=$certname" -CertStoreLocation "Cert:\CurrentUser\My" -KeyExportPolicy Exportable -KeySpec Signature -KeyLength 2048 -KeyAlgorithm RSA -HashAlgorithm SHA256

Az $cert előző parancs változója az aktuális munkamenetben tárolja a tanúsítványt, és lehetővé teszi annak exportálását.

Az alábbi parancs .cer formátumban exportálja a tanúsítványt. Az Azure Portalon támogatott más formátumokban is exportálhatja, beleértve a .pem és a .crt formátumot is.


Export-Certificate -Cert $cert -FilePath "C:\Users\admin\Desktop\$certname.cer"   ## Specify your preferred location

A tanúsítvány most már készen áll a feltöltésre az Azure Portalra. A feltöltés után kérje le a tanúsítvány ujjlenyomatát az alkalmazás hitelesítéséhez.

(Nem kötelező): A nyilvános tanúsítvány exportálása a titkos kulccsal

Ha az alkalmazás egy másik gépről vagy felhőből, például az Azure Automationből fog futni, szüksége lesz egy titkos kulcsra is.

Az előző parancsokat követve hozzon létre egy jelszót a tanúsítvány titkos kulcsához, és mentse azt egy változóba. Cserélje le {myPassword} a tanúsítvány titkos kulcsának védelméhez használni kívánt jelszót.


$mypwd = ConvertTo-SecureString -String "{myPassword}" -Force -AsPlainText  ## Replace {myPassword}

A változóban $mypwd tárolt jelszó használatával biztonságossá teheti és exportálhatja a titkos kulcsot a paranccsal;


Export-PfxCertificate -Cert $cert -FilePath "C:\Users\admin\Desktop\$certname.pfx" -Password $mypwd   ## Specify your preferred location

A tanúsítvány (.cer fájl) készen áll a feltöltésre az Azure Portalra. A titkos kulcs (.pfx fájl) titkosítva van, és más felek nem tudják beolvasni. A feltöltés után kérje le a tanúsítvány ujjlenyomatát, amellyel hitelesítheti az alkalmazást.

Nem kötelező feladat: Törölje a tanúsítványt a kulcstárból.

A kulcspárt törölheti a személyes tárolóból a következő parancs futtatásával a tanúsítvány ujjlenyomatának lekéréséhez.


Get-ChildItem -Path "Cert:\CurrentUser\My" | Where-Object {$_.Subject -Match "$certname"} | Select-Object Thumbprint, FriendlyName

Ezután másolja ki a megjelenő ujjlenyomatot, és használja a tanúsítvány és a titkos kulcs törléséhez.


Remove-Item -Path Cert:\CurrentUser\My\{pasteTheCertificateThumbprintHere} -DeleteKey

A tanúsítvány lejárati dátumának ismerete

A fenti lépések végrehajtásával létrehozott önaláírt tanúsítvány élettartama korlátozott, mielőtt lejár. Az Azure Portal Alkalmazásregisztrációk szakaszában a Tanúsítványok > titkos kódok képernyő megjeleníti a tanúsítvány lejárati dátumát. Ha Azure Automationt használ, az Automation-fiók Tanúsítványok képernyője megjeleníti a tanúsítvány lejárati dátumát. Új önaláírt tanúsítvány létrehozásához kövesse az előző lépéseket.

Következő lépések

Összevont egyszeri bejelentkezés tanúsítványainak kezelése a Microsoft Entra-azonosítóban