【问题标题】:New-AzureRmVpnClientRootCertificate in ARM TemplateARM 模板中的 New-AzureRmVpnClientRootCertificate
【发布时间】:2016-08-26 23:44:03
【问题描述】:

如何使用 Azure ARM 模板而不是使用 Powershell 命令 New-AzureRmVpnClientRootCertificate 上传客户端根证书?我在一个模板中拥有整个环境,这是唯一缺少的东西。

【问题讨论】:

    标签: azure arm-template


    【解决方案1】:

    在虚拟机的 OSProfile 部分,你可以这样写:

    "secrets": [
                  {
                    "sourceVault": {
                      "id": "[parameters('sourceVaultValue')]"
                    },
                    "vaultCertificates": [
                      {
                        "certificateStore": "[parameters('certificateStoreValue')]",
                        "certificateUrl": "[parameters('certificateUrlValue')]"
                      }
                    ]
                  }
    

    源保管库值是“/subscriptions/subId/resourceGroups/RGName/providers/Microsoft.KeyVault/vaults/KVName”

    证书存储值是 My 或您要使用的任何存储。

    证书 URL 值为“https://KVName.vault.azure.net:443/secrets/CertName/certVersionNumber

    因此,您显然需要创建一个 KeyVault 并将您的证书作为机密添加到其中。您可以通过 base 64 编码证书并上传该字符串来做到这一点,如下所示:

    $flag = [System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]::Exportable
    $collection = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2Collection 
    $collection.Import($pfxFilePath, $pwd, $flag)
    $pkcs12ContentType = [System.Security.Cryptography.X509Certificates.X509ContentType]::Pkcs12
    $clearBytes = $collection.Export($pkcs12ContentType)
    $fileContentEncoded = [System.Convert]::ToBase64String($clearBytes)
    
    $jsonObject = @{
        data = $filecontentencoded
        dataType = 'pfx'
     } | ConvertTo-Json
    
     $jsonObjectBytes = [System.Text.Encoding]::UTF8.GetBytes($jsonObject)
     $jsonEncoded = [System.Convert]::ToBase64String($jsonObjectBytes)
     $secret = ConvertTo-SecureString -String $jsonEncoded -AsPlainText -Force
    
     return $secret
    

    其中 $pfxFilePath 和 $pwd 是证书的路径,pwd 是密码。

    然后使用Set-AzureKeyVaultSecret -SecretValue $secret(和其他参数)上传

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-03
      • 1970-01-01
      • 2017-03-23
      • 2020-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多