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

Import-AzKeyVaultCertificate

将证书导入密钥保管库。

语法

Import-AzKeyVaultCertificate
      [-VaultName] <String>
      [-Name] <String>
      -FilePath <String>
      [-Password <SecureString>]
      [-PolicyPath <String>]
      [-PolicyObject <PSKeyVaultCertificatePolicy>]
      [-Tag <Hashtable>]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Import-AzKeyVaultCertificate
      [-VaultName] <String>
      [-Name] <String>
      -CertificateString <String>
      [-ContentType <String>]
      [-Password <SecureString>]
      [-PolicyPath <String>]
      [-PolicyObject <PSKeyVaultCertificatePolicy>]
      [-Tag <Hashtable>]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Import-AzKeyVaultCertificate
      [-VaultName] <String>
      [-Name] <String>
      [-PolicyPath <String>]
      [-PolicyObject <PSKeyVaultCertificatePolicy>]
      [-CertificateCollection] <X509Certificate2Collection>
      [-Tag <Hashtable>]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

说明

Import-AzKeyVaultCertificate cmdlet 将证书导入密钥保管库。 可以使用以下方法之一创建要导入的证书:

示例

示例 1:导入密钥保管库证书

$Password = ConvertTo-SecureString -String "123" -AsPlainText -Force
Import-AzKeyVaultCertificate -VaultName "ContosoKV01" -Name "ImportCert01" -FilePath "C:\Users\contosoUser\Desktop\import.pfx" -Password $Password

Name        : importCert01
Certificate : [Subject]
                CN=contoso.com

              [Issuer]
                CN=contoso.com

              [Serial Number]
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

              [Not Before]
                2/8/2016 3:11:45 PM

              [Not After]
                8/8/2016 4:21:45 PM

              [Thumbprint]
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Thumbprint  : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Tags        :
Enabled     : True
Created     : 2/8/2016 11:50:43 PM
Updated     : 2/8/2016 11:50:43 PM

第一个命令使用 ConvertTo-SecureString cmdlet 创建安全密码,然后将其存储在$Password变量中。 第二个命令将名为 ImportCert01 的证书导入 CosotosoKV01 密钥保管库。

示例 2:通过 CertificateString 导入密钥保管库证书

$Password = ConvertTo-SecureString -String "123" -AsPlainText -Force
$Base64String = [System.Convert]::ToBase64String([System.IO.File]::ReadAllBytes("import.pfx"))
Import-AzKeyVaultCertificate -VaultName "ContosoKV01" -Name "ImportCert01" -CertificateString $Base64String -Password $Password

Name        : importCert01
Certificate : [Subject]
                CN=contoso.com

              [Issuer]
                CN=contoso.com

              [Serial Number]
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

              [Not Before]
                2/8/2016 3:11:45 PM

              [Not After]
                8/8/2016 4:21:45 PM

              [Thumbprint]
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Thumbprint  : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Tags        :
Enabled     : True
Created     : 2/8/2016 11:50:43 PM
Updated     : 2/8/2016 11:50:43 PM

第一个命令使用 ConvertTo-SecureString cmdlet 创建安全密码,然后将其存储在$Password变量中。 第二个命令将证书读取为 Base64 编码表示形式。 第三个命令将名为 ImportCert01 的证书导入 CosotosoKV01 密钥保管库。

示例 3:使用 PolicyFile 导入密钥保管库证书

$Password = ConvertTo-SecureString -String "123" -AsPlainText -Force
Import-AzKeyVaultCertificate -VaultName "ContosoKV01" -Name "ImportCert01" -FilePath "C:\Users\contosoUser\Desktop\import.pfx" -Password $Password -PolicyPath "C:\Users\contosoUser\Desktop\policy.json"

Name        : importCert01
Certificate : [Subject]
                CN=contoso.com

              [Issuer]
                CN=contoso.com

              [Serial Number]
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

              [Not Before]
                2/8/2016 3:11:45 PM

              [Not After]
                8/8/2016 4:21:45 PM

              [Thumbprint]
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

KeyId         : https://ContosoKV01.vault.azure.net/keys/ImportCert01/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
SecretId      : https://ContosoKV01.vault.azure.net/secrets/ImportCert01/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Thumbprint    : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Policy        :
                Secret Content Type: application/x-pkcs12
                Issuer Name    : Unknown
                Created On     : 3/22/2023 6:00:52 AM
                Updated On     : 4/27/2023 9:52:53 AM
                ...
RecoveryLevel : Recoverable+Purgeable
Enabled       : True
Expires       : 6/9/2023 6:20:26 AM
NotBefore     : 3/11/2023 6:20:26 AM
Created       : 4/24/2023 9:05:51 AM
Updated       : 4/24/2023 9:05:51 AM
Tags          : {}
VaultName     : ContosoKV01
Name          : ImportCert01
Version       : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Id            : https://ContosoKV01.vault.azure.net/certificates/ImportCert01/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

第一个命令使用 ConvertTo-SecureString cmdlet 创建安全密码,然后将其存储在$Password变量中。 第二个命令使用文件定义的策略将名为 ImportCert01 的证书导入 CosotosoKV01 密钥保管库。

参数

-CertificateCollection

指定要添加到密钥保管库的证书集合。

Type:X509Certificate2Collection
Position:2
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-CertificateString

要导入的证书对象的 Base64 编码表示形式。 此证书需要包含私钥。

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

-Confirm

提示你在运行 cmdlet 之前进行确认。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ContentType

指定要导入的证书的类型。 默认情况下,将证书字符串视为 PFX 格式。

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

-DefaultProfile

用于与 azure 通信的凭据、帐户、租户和订阅

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

-FilePath

指定此 cmdlet 导入的证书文件的路径。

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

-Name

指定证书名称。 此 cmdlet 从密钥保管库名称、当前选定的环境和证书名称构造证书的完全限定域名(FQDN)。

Type:String
Aliases:CertificateName
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Password

指定证书文件的密码。

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

-PolicyObject

用于指定证书管理策略的内存中对象。 与 PolicyPath 互斥。

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

-PolicyPath

一个文件路径,用于为包含 JSON 编码策略定义的证书指定管理策略。 与 PolicyObject 互斥。

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

-Tag

以哈希表的形式进行键值对。 例如:@{key0=“value0”;key1=$null;key2=“value2”}

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

-VaultName

指定此 cmdlet 将证书导入到的密钥保管库名称。 此 cmdlet 基于名称和当前所选环境构造密钥保管库的完全限定域名(FQDN)。

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

-WhatIf

显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输入

String

X509Certificate2Collection

Hashtable

输出

PSKeyVaultCertificate