Application Gateway の ARM テンプレートに SSL 証明書 (PFX) とパスワードを設定する際の方法をメモしておきます。
まあ、GitHub の以下にサンプルがあるので、それを真似するだけなんですが。
azure-quickstart-templates/101-application-gateway-public-ip-ssl-offload/azuredeploy.json
該当箇所は、125 – 133 行目の以下の箇所。
"sslCertificates": [
{
"name": "appGatewaySslCert",
"properties": {
"data": "[parameters('certData')]",
"password": "[parameters('certPassword')]"
}
}
],
data と password のパラメーターに証明書のデータ (PFX を Base-64 エンコードしたもの) と、パスワードを指定すれば OK です。
上記の例では、[parameters()] で事前に定義した変数を参照する形になっています。 該当箇所は 50 – 61 行目のあたり。
"certData": {
"type": "string",
"metadata": {
"description": "Base-64 encoded form of the .pfx file"
}
},
"certPassword": {
"type": "securestring",
"metadata": {
"description": "Password for .pfx certificate"
}
},
PFX ファイルを Base-64 でエンコードするには、Windows PowerShell で以下の様な感じでやりましょう。
$CertPath = "<PFX ファイルのフルパス>" [System.Convert]::ToBase64String([System.IO.File]::ReadAllBytes($CertPath)) | Out-File "<Base64 エンコードしたテキストの出力先フルパス>"
ARM テンプレートの使い方は、この辺のリンクをどうぞ。