Import-ExchangeCertificate
Este cmdlet solo está disponible en el entorno local de Exchange.
Use el cmdlet Import-ExchangeCertificate para importar certificados en servidores de Exchange. Use este cmdlet para instalar certificados exportados desde otros servidores y para completar solicitudes de certificación pendientes (también conocidas como solicitudes de firma de certificados o CSR) de entidades emisoras de certificados (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.
Sintaxis
FileData
Import-ExchangeCertificate
-FileData <Byte[]>
[-Confirm]
[-DomainController <Fqdn>]
[-FriendlyName <String>]
[-Password <SecureString>]
[-PrivateKeyExportable <Boolean>]
[-Server <ServerIdParameter>]
[-WhatIf]
[<CommonParameters>]
FileName
Import-ExchangeCertificate
-Instance <String[]>
[-Confirm]
[-DomainController <Fqdn>]
[-FriendlyName <String>]
[-Password <SecureString>]
[-PrivateKeyExportable <Boolean>]
[-Server <ServerIdParameter>]
[-WhatIf]
[<CommonParameters>]
Instance
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 de Exchange:
- Archivo de cadena de certificados o certificado de APKCS #7 (.p7b o .p7c) emitido por una entidad emisora de certificados (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, consulte PKCS #7 Conceptos de sintaxis de mensajería criptográfica.
- Un archivo de certificado PKCS #12 (.cer, .crt, .der, .p12 o .pfx) que contiene la clave privada. PKCS #12 es el Standard de sintaxis de intercambio de información personal, un formato de archivo que se usa para almacenar certificados con claves privadas correspondientes que están protegidas por una contraseña. Para obtener más información, consulte PKCS # 12: Sintaxis de intercambio de información personal v1.1.
Después de importar un certificado en un servidor de 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 servicios de Seguridad de la capa de transporte (TLS). 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.
TLS reemplazó a Secure Sockets Layer (SSL) como el protocolo utilizado para cifrar los datos enviados entre sistemas informáticos. En el pasado, "TLS" y "SSL" se usaban a menudo indistintamente. Cualquier referencia a SSL en la documentación de Exchange en realidad significa TLS, a menos que también se incluya un número de versión (por ejemplo, SSL 3.0). Para obtener más información, consulte Prácticas recomendadas de configuración TLS de Exchange Server.
Deberá tener asignados permisos antes de poder ejecutar este cmdlet. Aunque en este artículo se enumeran todos los parámetros del cmdlet, es posible que no tenga acceso a algunos parámetros si no se incluyen en los permisos que tiene asignados. 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 de Exchange denominado Mailbox01. Este archivo requiere la contraseña del archivo. Este certificado podría haberse 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 del archivo PKCS #7 C:\Certificates\Fabrikam EmitidoCert.p7b en el servidor Exchange local.
Parámetros
-Confirm
Aplicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE
El modificador Confirm especifica si se debe mostrar u ocultar el mensaje de confirmación. Cómo afecta este modificador al cmdlet depende de si el cmdlet requiere confirmación antes de continuar.
- Los cmdlets destructivos (por ejemplo, los 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 otros cmdlets (por ejemplo, New-* y Set-*) no tienen una pausa integrada. Para estos cmdlets, especificar el modificador Confirm sin un valor introduce una pausa que le obliga a reconocer el comando antes de continuar.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | cf |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-DomainController
Aplicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE
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.
Propiedades de parámetro
| Tipo: | Fqdn |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-FileData
Aplicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE
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 utilizando 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 el valor de parámetro ($data).
Puede usar una ruta de acceso local si el archivo de certificado se encuentra en el servidor de Exchange en el que ejecuta el comando y este es el mismo servidor en el que desea instalar el certificado. De lo contrario, utilice una ruta de acceso UNC (\\Server\Share).
Cuando utiliza 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 (").
Propiedades de parámetro
| Tipo: | Byte[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
FileData
| Posición: | Named |
| Obligatorio: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-FileName
Aplicable: Exchange Server 2013
Nota: Este parámetro se quitó de Exchange 2016 y Exchange 2019 por las novedades acumulativas H1 de 2022 porque acepta valores de ruta UNC. Para importar un archivo de certificado sin utilizar el parámetro FileName, utilice 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, este parámetro se usa 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 se protege con una contraseña cuando el archivo contiene la clave privada o cadena de confianza.
Puede usar una ruta de acceso local si el archivo de certificado se encuentra en el servidor de Exchange en el que ejecuta el comando y este es el mismo servidor en el que desea instalar el certificado. De lo contrario, utilice una ruta de acceso UNC (\\Server\Share).
Si el valor contiene espacios, escriba el valor entre comillas (").
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
Instance
| Posición: | Named |
| Obligatorio: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-FriendlyName
Aplicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE
El parámetro FriendlyName especifica un nombre descriptivo para el certificado. El valor debe tener menos de 64 caracteres.
El valor del nombre descriptivo es un texto descriptivo y no afecta a la funcionalidad del certificado.
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Instance
Aplicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE
Este parámetro está en desuso y ya no se usa.
Propiedades de parámetro
| Tipo: | String[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
FileName
| Posición: | Named |
| Obligatorio: | True |
| Valor de la canalización: | True |
| Valor de la canalización por nombre de propiedad: | True |
| Valor de los argumentos restantes: | False |
-Password
Aplicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE
El parámetro Password especifica la contraseña necesaria para importar el certificado.
Puede utilizar 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 una variable (por ejemplo, ) y, a continuación,
$password = Read-Host "Enter password" -AsSecureStringuse la variable ($password) para el valor. -
(Get-Credential).passwordpara que se le pida que escriba la contraseña de forma segura al ejecutar este comando.
Propiedades de parámetro
| Tipo: | SecureString |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-PrivateKeyExportable
Aplicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE
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 puede exportar el certificado desde este servidor. Este valor es el predeterminado.
Propiedades de parámetro
| Tipo: | Boolean |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Server
Aplicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE
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
Propiedades de parámetro
| Tipo: | ServerIdParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-WhatIf
Aplicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE
El modificador WhatIf muestra lo que hace el comando sin realizar ningún cambio. No es necesario especificar un valor con este modificador.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | wi |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
CommonParameters
Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para más información, consulte about_CommonParameters.
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.