你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

New-AzVpnClientRootCertificate

创建新的 VPN 客户端根证书。

语法

New-AzVpnClientRootCertificate
   -Name <String>
   -PublicCertData <String>
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

说明

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 9982CVVFAw8w ----- 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

输入

String

输出

PSVpnClientRootCertificate