New-AzVpnClientRootCertificate
建立新的 VPN 用戶端跟證書。
語法
New-AzVpnClientRootCertificate
-Name <String>
-PublicCertData <String>
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Description
New-AzVpnClientRootCertificate Cmdlet 會建立新的 VPN 跟證書,以在虛擬網路閘道上使用。
跟證書是 X.509 憑證,可識別您的跟證書授權單位:閘道上所使用的所有其他憑證都會信任跟證書。
此 Cmdlet 會建立未指派給虛擬閘道的獨立憑證。
相反地,New-AzVpnClientRootCertificate 所建立的憑證會與建立新網關時 New-AzVirtualNetworkGateway Cmdlet 搭配使用。
例如,假設您建立新的憑證,並將其儲存在名為 $Certificate 的變數中。
接著,您可以在建立新的虛擬網關時使用該憑證物件。
例如
New-AzVirtualNetworkGateway -Name "ContosoVirtualGateway" -ResourceGroupName "ContosoResourceGroup" -Location "West US" -GatewayType "VPN" -IpConfigurations $Ipconfig -VPNType "RouteBased" -VpnClientRootCertificates $Certificate
如需詳細資訊,請參閱 New-AzVirtualNetworkGateway Cmdlet 的檔。
範例
範例 1:建立用戶端跟證書
$Text = Get-Content -Path "C:\Azure\Certificates\ExportedCertificate.cer"
$CertificateText = for ($i=1; $i -lt $Text.Length -1 ; $i++){$Text[$i]}
$Certificate = New-AzVpnClientRootCertificate -PublicCertData $CertificateText -Name "ContosoClientRootCertificate"
此範例會建立用戶端跟證書,並將憑證物件儲存在名為 $Certificate的變數中。 然後,New-AzVirtualNetworkGateway Cmdlet 可以使用此變數,將跟證書新增至新的虛擬網路網關。 第一個命令會使用 Get-Content Cmdlet 來取得先前導出的跟證書文字表示法;該文字數據會儲存在名為 $Text的變數中。 第二個命令接著會使用 for 迴圈來擷取第一行和最後一行以外的所有文字,並將擷取的文字儲存在名為 $CertificateText 的變數中。 第三個命令會使用 New-AzVpnClientRootCertificate Cmdlet 來建立憑證,並將建立的物件儲存在名為 $Certificate 的變數中。
參數
-DefaultProfile
用於與 azure 通訊的認證、帳戶、租用戶和訂用帳戶。
類型: | IAzureContextContainer |
別名: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Name
指定新客戶端跟憑證的名稱。
類型: | String |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-PublicCertData
指定要加入之跟證書的文字表示。 若要取得文字表示法,請使用 .cer 格式匯出您的憑證(使用Base64編碼),然後在文本編輯器中開啟產生的檔案。 您應該會看到類似這樣的輸出(請注意,實際輸出將包含比這裡所示的縮寫範例更多的文字行):----- BEGIN CERTIFICATE ----- MIIC13FAAXC3671Auij9HHHGUNEW8343NMJklo0 9982CVVVFAw8w ----- END CERTIFICATE ----- PublicCertData 是由檔案中第一行 (----- BEGIN CERTIFICATE -----) 與最後一行 (----- END CERTIFICATE -----) 之間的所有行所組成。 您可以使用類似下列的 Windows PowerShell 命令來擷取 PublicCertData:$Text = Get-Content -Path “C:\Azure\Certificates\ExportedCertificate.cer” $CertificateText = for ($i=1; $i -lt $Text.Length -1 ; $i++){$Text[$i]}
類型: | String |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |