New-AzVpnClientRootCertificate

建立新的 VPN 用戶端跟證書。

Syntax

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 通訊的認證、帳戶、租用戶和訂用帳戶。

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

指定新客戶端跟憑證的名稱。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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]}

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

輸入

String

輸出

PSVpnClientRootCertificate