Import-ExchangeCertificate

Este cmdlet solo está disponible en el entorno local de Exchange.

Use el cmdlet Import-ExchangeCertificate para importar certificados en servidores exchange. Use este cmdlet para instalar certificados que se exportaron desde otros servidores y para completar solicitudes de certificación pendientes (también conocidas como solicitudes de firma de certificados o CSR) de entidades de certificación (CA).

Para obtener más información acerca de los conjuntos de parámetros de la sección Sintaxis a continuación, vea Sintaxis del cmdlet de Exchange.

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

Puede usar el cmdlet Import-ExchangeCertificate para importar los siguientes tipos de archivos de certificado en un servidor exchange:

  • Archivo de certificado APKCS #7 o cadena de certificados (.p7b o .p7c) emitido por una entidad de certificación (CA). PKCS #7 es el estándar de sintaxis de mensajes de cifrado, una sintaxis que se usa para firmar digitalmente o cifrar datos usando criptografía mediante claves públicas, incluidos certificados. Para obtener más información, vea PKCS #7 Cryptographic Messaging Syntax Concepts (Conceptos de sintaxis de mensajería criptográfica de PKCS 7).
  • Un archivo de certificado PKCS #12 (.cer, .crt, .der, .p12 o .pfx) que contiene la clave privada. PKCS #12 es el estándar de sintaxis de Intercambio de información personal, un formato de archivo que se usa para almacenar certificados con las claves privadas correspondientes que están protegidas por una contraseña. Para obtener más información, vea PKCS #12: Sintaxis de intercambio de información personal v1.1.

Después de importar un certificado en un servidor exchange, debe asignar el certificado a uno o varios servicios de Exchange mediante el cmdlet Enable-ExchangeCertificate.

Hay muchos factores que se deben tener en cuenta al configurar certificados para la Seguridad de la capa de transporte (TLS) y Capa de sockets seguros (SSL). Debe entender cómo pueden afectar estos factores a la configuración general. Para obtener más información, consulte Certificados digitales y cifrado en Exchange Server.

Capa de sockets seguros (SSL) se está reemplazando por Seguridad de la capa de transporte (TLS) como protocolo usado para cifrar los datos enviados entre sistemas informáticos. Están tan estrechamente relacionadas que a menudo los términos "SSL" y "TLS" (sin versiones) se usan indistintamente. Debido a esta similitud, las referencias a "SSL" en temas de Exchange, el Centro de administración de Exchange y el Shell de administración de Exchange se han usado a menudo para abarcar los protocolos SSL y TLS. Normalmente, "SSL" hace referencia al protocolo SSL real solo cuando también se proporciona una versión (por ejemplo, SSL 3.0). Para obtener más información, consulte Exchange Server procedimientos recomendados de configuración de TLS.

Deberá tener asignados permisos antes de poder ejecutar este cmdlet. Aunque en este tema se enumeran todos los parámetros correspondientes a este cmdlet, tal vez no tenga acceso a algunos parámetros si no están incluidos en los permisos que se le han asignado. Para obtener los permisos necesarios para ejecutar cualquier cmdlet o parámetro en su organización, consulte Find the permissions required to run any Exchange cmdlet.

Ejemplos

Ejemplo 1

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

En Exchange 2013, este ejemplo importa el certificado del archivo PKCS #12 de \\FileServer01\Data\Exported Fabrikam Cert.pfx al servidor exchange denominado Mailbox01. Este archivo requiere la contraseña del archivo. Este certificado podría haber sido exportado desde otro servidor o emitido por una entidad de certificación.

Para exportar el certificado en Exchange 2016 o Exchange 2019, use el parámetro FileData como se describe en el ejemplo 2.

Ejemplo 2

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

En este ejemplo se importa el mismo archivo de certificado del ejemplo 1. Este método es necesario en Exchange 2016 y Exchange 2019 porque el parámetro FileName no está disponible.

Ejemplo 3

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

En este ejemplo se importa una cadena de certificados desde el archivo PKCS #7 C:\Certificates\Fabrikam IssuedCert.p7b en el servidor exchange local.

Parámetros

-Confirm

El modificador Confirm especifica si se debe mostrar u ocultar el mensaje de confirmación. Cómo afecta este modificador el cmdlet depende de si el cmdlet requiere confirmación antes de continuar.

  • Los cmdlets destructivos (por ejemplo, cmdlets Remove-*) tienen una pausa integrada que obliga a confirmar el comando antes de continuar. Para estos cmdlets, puede omitir el mensaje de confirmación mediante esta sintaxis exacta: -Confirm:$false.
  • La mayoría de los demás cmdlets (por ejemplo, los cmdlets New-* y Set-*) no tienen una pausa integrada. En estos cmdlets, si se especifica el modificador Confirm sin ningún valor, se introduce una pausa que obliga a confirmar el 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

El parámetro DomainController especifica el controlador de dominio que el cmdlet usa para leer datos de Active Directory o escribirlos. El controlador de dominio se identifica por su nombre de dominio completo (FQDN). Por ejemplo, dc01.contoso.com.

El parámetro DomainController no es compatible con los servidores de transporte perimetral. Un servidor de transporte perimetral usa la instancia local de Active Directory Lightweight Directory Services (AD LDS) para leer y escribir datos.

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

El parámetro FileData especifica el contenido del archivo de certificado que desea importar.

Un valor válido para este parámetro requiere que lea el archivo en un objeto codificado en bytes mediante la sintaxis siguiente: ([System.IO.File]::ReadAllBytes('<Path>\<FileName>')). Puede usar este comando como valor de parámetro o puede escribir la salida en una variable ($data = [System.IO.File]::ReadAllBytes('<Path>\<FileName>')) y usar la variable como valor del parámetro ($data).

Puede usar una ruta de acceso local si el archivo de certificado se encuentra en el servidor de Exchange donde ejecuta el comando y este es el mismo servidor donde desea instalar el certificado. De lo contrario, use una ruta de acceso UNC (\\Server\Share).

Cuando se usa este parámetro para importar archivos de certificado de texto PKCS #7, estos archivos contienen: -----BEGIN CERTIFICATE----- y -----END CERTIFICATE----- o -----BEGIN PKCS7----- y -----END PKCS7----- y tienen extensiones de nombre de archivo .p7b o .p7c.

Si el valor contiene espacios, escriba el valor entre comillas (").

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

Nota: Este parámetro se quitó de Exchange 2016 y Exchange 2019 por la Novedades acumulativa de 2022 H1 porque acepta valores de ruta de acceso UNC. Para importar un archivo de certificado sin usar el parámetro FileName, use el parámetro FileData.

Este parámetro solo está disponible en Exchange 2013.

El parámetro FileName especifica el archivo de certificado que desea importar. Normalmente, se usa este parámetro para archivos de certificado binario PKCS #12 que tienen extensiones de nombre de archivo .cer, .crt, .der, .p12 o .pfx. Este tipo de archivo de certificado binario está protegido por una contraseña cuando el archivo contiene la clave privada o la cadena de confianza.

Puede usar una ruta de acceso local si el archivo de certificado se encuentra en el servidor de Exchange donde ejecuta el comando y este es el mismo servidor donde desea instalar el certificado. De lo contrario, use una ruta de acceso UNC (\\Server\Share).

Si el valor contiene espacios, escriba el valor entre comillas (").

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

-FriendlyName

El parámetro FriendlyName especifica un nombre descriptivo para el certificado. El valor debe tener menos de 64 caracteres.

El valor de nombre descriptivo es texto descriptivo y no afecta a la funcionalidad del 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 ya no se usa y quedará obsoleto.

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

El parámetro Password especifica la contraseña necesaria para importar el certificado.

Puede usar los métodos siguientes como valor para este parámetro:

  • (ConvertTo-SecureString -String '<password>' -AsPlainText -Force).
  • Antes de ejecutar este comando, almacene la contraseña como variable (por ejemplo, ) y, a continuación, $password = Read-Host "Enter password" -AsSecureStringuse la variable ($password) para el valor.
  • (Get-Credential).password para que se le pida que escriba la contraseña de forma segura al ejecutar este 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

El parámetro PrivateKeyExportable especifica si el certificado tiene una clave privada exportable y controla si puede exportar el certificado desde este servidor. Los valores admitidos son:

  • $true: la clave privada es exportable, por lo que puede exportar el certificado desde este servidor.
  • $false: La clave privada no se puede exportar, por lo que no se puede exportar el certificado desde este servidor. Este es el valor predeterminado.
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

El parámetro Server especifica el servidor Exchange en el que desea ejecutar este comando. Puede usar cualquier valor que identifique de forma exclusiva el servidor. Por ejemplo:

  • Name
  • FQDN
  • Distinguished name (DN)
  • Nombre distintivo (DN) heredado de Exchange

Nombre distintivo (DN) heredado de 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

El modificador WhatIf simula las acciones del comando. Puede usar este modificador para ver los cambios que se producirían, pero sin aplicar los cambios. No es necesario especificar un valor con este modificador.

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 los tipos de entrada que acepta este cmdlet, consulte Tipos de entrada y salida de cmdlet. Si el campo Tipo de entrada de un cmdlet está en blanco, el cmdlet no acepta datos de entrada.

Salidas

Output types

Para ver los tipos de valor devuelto (también conocidos como tipos de resultado) que acepta este cmdlet, consulte Tipos de entrada y salida de cmdlet. Si el campo Tipo de resultado está en blanco, el cmdlet no devuelve datos.