Potrzebuję zainstalować certyfikat w klastrze usług usługowych utworzonym przy użyciu szablonu ARM. Udało mi się zainstalować certyfikat z kluczem prywatnym za pomocą następującego polecenia pomocnika powershell:Instalowanie certyfikatu w klastrze usług usługowych bez klucza prywatnego
> Invoke-AddCertToKeyVault
https://github.com/ChackDan/Service-Fabric/tree/master/Scripts/ServiceFabricRPHelpers
Kiedy certyfikat jest w Azure Key Vault mogę zmodyfikować mój szablon ARM zainstalować certyfikat automatycznie węzły w klastrze:
"osProfile": {
"secrets": [
{
"sourceVault": {
"id": "[parameters('vaultId')]"
},
"vaultCertificates": [
{
"certificateStore": "My",
"certificateUrl": "https://mykeyvault.vault.azure.net:443/secrets/fabrikam/9d1adf93371732434"
}
]
}
]
}
Problem polega na tym, że Invoke-AddCertToKeyVault spodziewa mi dostarczyć plik pfx zakładając mam klucza prywatnego.
Skrypt tworzy następujące JSON blob:
$jsonBlob = @{
data = $base64
dataType = 'pfx'
password = $Password
} | ConvertTo-Json
zmodyfikowałem skrypt usunąć hasło i zmienić typ danych do „cer”, ale kiedy wdrożony szablon w Azure to powiedział dataType już nie było ważne .
Jak wdrożyć certyfikat w klastrze usług usługowych, który nie zawiera klucza prywatnego?