Azure Azure App Services

App Service Sertifika Export İşlemleri (PFX)

Avatar
Written by Emre Martin

Bildiğiniz üzere App Service Certificate üzerinden satın almış olduğunuz sertifikaları sadece Azure servisleri ile değil  tüm non-Azure ortamlarda da kullanabilirsiniz. Bunun için sahip olduğunuz SSL  sertfikanın bir kopyasını (PFX, CER,KEY) powershell ile export etmeniz gerekmektedir. App Service SSL-PFX Export

Ön gereksinimler:

App Service sertifikasının Issued durumda olduğundan emin olun

All Services -> App Services Certificates -> Overview

App Service SSL - PFX Export

İlgili sertifiklanın Key Vault üzerinden tutulduğundan emin olun.

All Services -> App Services Certificates -> Certififace Configuration

Export App Certificate

Sonrasında aşağıki PowerShell ile sertifikanızı export edebilirsiniz:

Login-AzureRmAccount

#Değişlenler

$SubscriptionId="4ebd8ebc-xxxxxxxxx-xxxxxxxxx"
$resourceGroupName="RG_EmreMARTIN"
$pfxPassword ="123456"


Set-AzureRmContext -SubscriptionId $SubscriptionId


#Sertifikanın saklandığı Resource URL ve Keyvault Secret bilgilerinin okunması

$ascResource= Get-AzureRmResource -ResourceId "/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.CertificateRegistration/certificateOrders/$name"
$certProps = Get-Member -InputObject $ascResource.Properties.certificates[0] -MemberType NoteProperty
$certificateName = $certProps[0].Name
$keyVaultId = $ascResource.Properties.certificates[0].$certificateName.KeyVaultId
$keyVaultSecretName = $ascResource.Properties.certificates[0].$certificateName.KeyVaultSecretName
$keyVaultIdParts = $keyVaultId.Split("/")
$keyVaultName = $keyVaultIdParts[$keyVaultIdParts.Length - 1]
$keyVaultResourceGroupName = $keyVaultIdParts[$keyVaultIdParts.Length - 5]

#Sertifikanın Export edilmesi

$secret = Get-AzureKeyVaultSecret -VaultName $keyVaultName -Name $keyVaultSecretName
$pfxCertObject= New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 -ArgumentList @([Convert]::FromBase64String($secret.SecretValueText),"",[System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]::Exportable)
[io.file]::WriteAllBytes(".\appservicecertificate.pfx",$pfxCertObject.Export([System.Security.Cryptography.X509Certificates.X509ContentType]::Pkcs12,$pfxPassword))

 

Sertifikanıza C:\Windows\System32 dizininde appservicecertificate.pfx ismiyle erişebilirsniz.

Export App Certificate

Eğer sertifikanın .CER yada .KEY formatına ihtiyacınız varsa OpenSSL tool ile sertifikanızı istediğiniz formata convert edebilirsiniz.

openssl pkcs12 -in appservicecertificate.pfx -nocerts -out Cert.key

openssl pkcs12 -in appservicecertificate.pfx -clcerts -nokeys -out Cert.cer

Faydalı olması dileğiyle.

Yazar Hakkında

Avatar

Emre Martin

Cloud Solutions Architect