Compartilhar via


Import-ExchangeCertificate

Este cmdlet está disponível somente no Exchange local.

Use o cmdlet Import-ExchangeCertificate para importar certificados em servidores exchange. Você usa esse cmdlet para instalar certificados que foram exportados de outros servidores e para concluir solicitações de certificação pendentes (também conhecidas como solicitações de assinatura de certificado ou CSRs) das autoridades de certificação (CAs).

Para saber mais sobre os conjuntos de parâmetros na seção Sintaxe, abaixo, consulte Exchange cmdlet syntax.

Syntax

Import-ExchangeCertificate
      -FileData <Byte[]>
      [-Confirm]
      [-DomainController <Fqdn>]
      [-FriendlyName <String>]
      [-Password <SecureString>]
      [-PrivateKeyExportable <Boolean>]
      [-Server <ServerIdParameter>]
      [-WhatIf]
      [<CommonParameters>]
Import-ExchangeCertificate
      -Instance <String[]>
      [-Confirm]
      [-DomainController <Fqdn>]
      [-FriendlyName <String>]
      [-Password <SecureString>]
      [-PrivateKeyExportable <Boolean>]
      [-Server <ServerIdParameter>]
      [-WhatIf]
      [<CommonParameters>]
Import-ExchangeCertificate
      -FileName <String>
      [-Confirm]
      [-DomainController <Fqdn>]
      [-FriendlyName <String>]
      [-Password <SecureString>]
      [-PrivateKeyExportable <Boolean>]
      [-Server <ServerIdParameter>]
      [-WhatIf]
      [<CommonParameters>]

Description

Você pode usar o cmdlet Import-ExchangeCertificate para importar os seguintes tipos de arquivos de certificado em um servidor exchange:

  • APKCS #7 certificado ou cadeia de arquivos de certificados (.p7b ou .p7c) que foi emitido por uma autoridade de certificação (AC). PKCS #7 é o Padrão de Sintaxes de Mensagens Criptográficas, uma sintaxe usada para assinatura digital ou dados de criptografia usando uma criptografia de chave pública, incluindo certificados. Para obter mais informações, confira Conceitos de Sintaxe de Mensagens Criptográficas PKCS nº 7.
  • Um arquivo de certificado PKCS #12 (.cer, .crt, .der, .p12 ou .pfx) que contém a chave privada. PKCS #12 é a Sintaxe do Exchange de Informações Pessoais Standard, um formato de arquivo usado para armazenar certificados com chaves privadas correspondentes protegidas por uma senha. Para obter mais informações, consulte PKCS #12: Sintaxe do Exchange de Informações Pessoais v1.1.

Depois de importar um certificado em um servidor exchange, você precisará atribuir o certificado a um ou mais serviços do Exchange usando o cmdlet Enable-ExchangeCertificate.

Há muitos fatores a serem considerados ao configurar certificados para serviços TLS (Transport Layer Security) e SSL (Secure Sockets Layer). Você precisa compreender como esses fatores podem afetar sua configuração geral. Para obter mais informações, consulte Certificados digitais e criptografia em Exchange Server.

Estamos substituindo o protocolo SSL pelo protocolo TLS como o protocolo usado para criptografar dados enviados entre os sistemas de computador. Eles estão estreitamente relacionados, de modo que os termos "SSL" e "TLS" (sem versões) geralmente são intercambiáveis. Devido a essa semelhança, as referências a "SSL" em tópicos do Exchange, o centro de administração do Exchange e o Shell de Gerenciamento do Exchange têm sido usados frequentemente para abranger os protocolos SSL e TLS. Normalmente, o "SSL" se refere ao protocolo SSL real somente quando uma versão também é fornecida (por exemplo, SSL 3.0). Para obter mais informações, consulte Exchange Server práticas recomendadas de configuração do TLS.

Para executar esse cmdlet, você precisa ter permissões. Embora este tópico liste todos os parâmetros do cmdlet, talvez você não tenha acesso a alguns parâmetros se eles não estiverem incluídos nas permissões atribuídas a você. Para localizar as permissões necessárias para executar qualquer cmdlet ou parâmetro em sua organização, confira Find the permissions required to run any Exchange cmdlet.

Exemplos

Exemplo 1

Import-ExchangeCertificate -Server Mailbox01 -FileName "\\FileServer01\Data\Exported Fabrikam Cert.pfx" -Password (Get-Credential).password

No Exchange 2013, este exemplo importa o certificado do arquivo PKCS #12 de \\FileServer01\Data\Exported Fabrikam Cert.pfx para o servidor exchange chamado Mailbox01. Esse arquivo requer a senha do arquivo. Esse certificado poderia ter sido exportado de outro servidor ou emitido por uma autoridade de certificação.

Para exportar o certificado no Exchange 2016 ou exchange 2019, use o parâmetro FileData conforme descrito no Exemplo 2.

Exemplo 2

Import-ExchangeCertificate -Server Mailbox01 -FileData ([System.IO.File]::ReadAllBytes('\\FileServer01\Data\Exported Fabrikam Cert.pfx')) -Password (Get-Credential).password

Este exemplo importa o mesmo arquivo de certificado do Exemplo 1. Esse método é necessário no Exchange 2016 e no Exchange 2019 porque o parâmetro FileName não está disponível.

Exemplo 3

Import-ExchangeCertificate -FileData ([System.IO.File]::ReadAllBytes('C:\Certificates\Fabrikam IssuedCert.p7b'))

Este exemplo importa uma cadeia de certificados do arquivo PKCS #7 C:\Certificates\Fabrikam IssuedCert.p7b no servidor exchange local.

Parâmetros

-Confirm

A opção Confirm especifica se a solicitação de confirmação deve ser mostrada ou ocultada. Como essa opção afeta o cmdlet dependerá do fato de o cmdlet exigir ou não confirmação antes de continuar.

  • Cmdlets destrutivos (por exemplo, cmdlets Remove-*) têm uma pausa interna que força você a reconhecer o comando antes de prosseguir. Para estes cmdlets, você pode pular o pedido de confirmação usando esta sintaxe exata: -Confirm:$false.
  • A maioria dos outros cmdlets (por exemplo, cmdlets New-* e Set-*) não tem uma pausa interna. Para esses cmdlets, especificar a opção Confirm sem um valor introduz uma pausa que força você a confirmar o comando antes de continuar.
Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-DomainController

O parâmetro DomainController especifica o controlador de domínio que é usado por esse cmdlet para ler dados ou gravar dados no Active Directory. Você identifica o controlador de domínio por seu FQDN (nome de domínio totalmente qualificado). Por exemplo, dc01.contoso.com.

O parâmetro DomainController não é compatível com os servidores de Transporte do Microsoft Edge. Um servidor de Transporte do Microsoft Edge usa a instância local dos Serviços AD LDS para ler e gravar dados.

Type:Fqdn
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-FileData

O parâmetro FileData especifica o conteúdo do arquivo de certificado que você deseja importar.

Um valor válido para esse parâmetro exige que você leia o arquivo em um objeto codificado por bytes usando a seguinte sintaxe: ([System.IO.File]::ReadAllBytes('<Path>\<FileName>')). Você pode usar esse comando como o valor do parâmetro ou gravar a saída em uma variável ($data = [System.IO.File]::ReadAllBytes('<Path>\<FileName>')) e usar a variável como o valor do parâmetro ($data).

Você pode usar um caminho local se o arquivo de certificado estiver localizado no servidor exchange em que você está executando o comando, e este é o mesmo servidor em que você deseja instalar o certificado. Caso contrário, use um caminho UNC (\\Server\Share).

Quando você usa esse parâmetro para importar arquivos de certificado de texto PKCS #7, esses arquivos contêm: -----BEGIN CERTIFICATE----- e -----END CERTIFICATE----- ou -----BEGIN PKCS7----- e -----END PKCS7----- e têm extensões de nome de arquivo .p7b ou .p7c.

Se o valor contiver espaços, coloque-o entre aspas (").

Type:Byte[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-FileName

Observação: esse parâmetro foi removido do Exchange 2016 e do Exchange 2019 pelo Atualizações Cumulativo H1 2022 porque aceita valores de caminho UNC. Para importar um arquivo de certificado sem usar o parâmetro FileName, use o parâmetro FileData.

Esse parâmetro está disponível apenas no Exchange 2013.

O parâmetro FileName especifica o arquivo de certificado que você deseja importar. Normalmente, você usa esse parâmetro para arquivos de certificado binário PKCS #12 que têm extensões de nome de arquivo .cer, .crt, .der, .p12 ou .pfx. Esse tipo de arquivo de certificado binário é protegido por uma senha quando o arquivo contém a chave privada ou a cadeia de confiança.

Você pode usar um caminho local se o arquivo de certificado estiver localizado no servidor exchange em que você está executando o comando, e este é o mesmo servidor em que você deseja instalar o certificado. Caso contrário, use um caminho UNC (\\Server\Share).

Se o valor contiver espaços, coloque-o entre aspas (").

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2013

-FriendlyName

O parâmetro FriendlyName especifica um nome amigável para o certificado. O valor deve ter menos de 64 caracteres.

O valor do nome amigável é texto descritivo e não afeta a funcionalidade do certificado.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-Instance

Este parâmetro foi substituído e não é mais usado.

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-Password

O parâmetro Senha especifica a senha necessária para importar o certificado.

Você pode usar os seguintes métodos como um valor para este parâmetro:

  • (ConvertTo-SecureString -String '<password>' -AsPlainText -Force).
  • Antes de executar esse comando, armazene a senha como uma variável (por exemplo, $password = Read-Host "Enter password" -AsSecureString), e use a variável ($password) para o valor.
  • (Get-Credential).password a ser solicitado a inserir a senha com segurança ao executar esse comando.
Type:SecureString
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-PrivateKeyExportable

O parâmetro PrivateKeyExportable especifica se o certificado tem uma chave privada exportável e controla se você pode exportar o certificado deste servidor. Os valores válidos são:

  • $true: a chave privada é exportável, para que você possa exportar o certificado deste servidor.
  • $false: a chave privada não é exportável, portanto, você não pode exportar o certificado deste servidor. Esse é o valor padrão.
Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-Server

O parâmetro Servidor especifica o servidor Exchange em que você deseja executar esse comando. É possível usar qualquer valor que identifique o servidor com exclusividade. Por exemplo:

  • Nome
  • FQDN
  • DN (nome diferenciado)
  • DN Herdado do Exchange

DN Herdado do Exchange

Type:ServerIdParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-WhatIf

A opção WhatIf simula as ações do comando. Você pode usar essa opção para exibir as alterações que ocorreriam sem realmente aplicar essas alterações. Não é preciso especificar um valor com essa opção.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

Entradas

Input types

Para ver os tipos de entrada que este cmdlet aceita, confira Tipos de entrada e saída de cmdlet. Se o campo Tipo de Entrada de um cmdlet estiver em branco, isso significa que o cmdlet não aceita dados de entrada.

Saídas

Output types

Para ver os tipos de retorno, também conhecidos como tipos de saída, que este cmdlet aceita, consulte Tipos de entrada e saída de cmdlet. Se o campo Tipo de Saída estiver em branco, o cmdlet não retorna dados.