En un servidor Microsoft Exchange, si un certificado ha caducado no es posible renovar dicho certificado, la única solución es crear un nuevo certificado y asignar los servicios de correo al nuevo certificado.
Ejecutaremos el siguiente comando de Exchange PowerShell, para generar una nueva solicitud para crear un certificado válido.
- C = Country
- ST = State
- L = Location
- O = Organization
- OU = Organizational Unit
- CN = Common Name
New-ExchangeCertificate –GenerateRequest –SubjectName “c=ES, ST=Barcelona, L=Barcelona, O=Dominio, CN=mail.dom.es” –FriendlyName "Exchange Certificate" –KeySize 2048 –Path c:\certificadosrvmail.req –PrivateKeyExportable:$True
El modificador GenerateRequest que hemos usado en el comando para una solicitud de nuevo certificado, especifica si se debe generar una solicitud para un certificado de infraestructura de clave pública (PKI) (PKCS # 10) en el almacén de solicitudes local.
De forma predeterminada, este cmdlet crea un certificado autofirmado en el almacén de certificados del equipo local. El modificador GenerateRequest evita este comportamiento.
El parámetro SubjectName, especifica el nombre del sujeto del certificado resultante. Un nombre del sujeto es un nombre distintivo X.500 que consta de uno o más nombres distintivos relativos (también conocidos como RDN).
El SubjectName de un certificado, es el campo que usan los servicios compatibles con el Sistema de nombres de dominio (DNS). Vincula un certificado con un servidor o un nombre de dominio determinado.
Si no se especificamos el parámetro SubjectName, se usará el nombre de host del servidor donde estamos ejecutando el cmdlet como common name (CN) en el certificado resultante.
El parámetro DomainName de la solicitud, especificará uno o más Fully qualified domain name (FQDN) o nombres de servidor que se usarán para llenar el campo Subject Alternative Name de la solicitud de certificado resultante.
El parámetro FriendlyName, especificará el nombre descriptivo para nuestro nuevo certificado. El nombre descriptivo debe tener menos de 64 caracteres. Es un parámetro opcional.
Con el parámetro PrivateKeyExportable, especificaremos si el nuevo certificado tiene una clave privada exportable. De forma predeterminada, todas las solicitudes de certificado y los certificados creados por este cmdlet no permiten que se exporte la clave privada.
Si no se puede exportar la clave privada, no se puede exportar ni importar el certificado. Para permitir exportar la clave privada al exportar el certificado, configuraremos este parámetro con el valor $true.
Después de ejecutar el comando, vamos a obtener un archivo con la extensión *.req, en nuestro laboratorio hemos asignado el nombre c:\certificadosrvmail.req al archivo resultante de la ejecución del comando. Debemos mover el archivo con extensión *.req al servidor de nuestra red que tenga instalada la entidad certificadora de nuestro dominio. Una vez tengamos ubicado el archivo al servidor de la CA, accederemos desde un explorador de Internet a la página principal de Microsoft Certificate server para solicitar la creación de un nuevo certificado.
La URL será la que mostramos a continuación:
http://localhost/certsrv/
En la Página principal de Servicios de Microsoft Certificate server de Active Directory seleccionaremos la tarea llamada, Solicitar un certificado.
En la Página principal de Servicios de Microsoft Certificate server de Active Directory seleccionaremos la tarea llamada, Solicitar un certificado.
En el asistente para solicitar un certificado podremos elegir entre:
En nuestro laboratorio seleccionaremos la opción, Solicitud de certificado avanzada.
En las opciones de Solicitud de certificado avanzada, podremos elegir entre
Seleccionaremos la opción, Enviar una solicitud de certificado con un archivo codificado en base64 CMC p PKCS#10 o una solicitud de renovación con un archivo en base64 PKCS#7.
- El tipo de certificado de usuario.
- Solicitud de certificado avanzada.
En nuestro laboratorio seleccionaremos la opción, Solicitud de certificado avanzada.
En las opciones de Solicitud de certificado avanzada, podremos elegir entre
- Crear y enviar una solicitud a esta CA.
- Enviar una solicitud de certificado con un archivo codificado en base64 CMC p PKCS#10 o una solicitud de renovación con un archivo en base64 PKCS#7.
Seleccionaremos la opción, Enviar una solicitud de certificado con un archivo codificado en base64 CMC p PKCS#10 o una solicitud de renovación con un archivo en base64 PKCS#7.
En este momento, abriremos el archivo *.req que hemos creado en los pasos anteriores con Bloc de Notas.
Seleccionaremos y copiamos todo su contenido, con las dos líneas, BEGIN NEW CERTIFICATE REQUEST y END NEW CERTIFICATE REQUEST incluidas,
-----BEGIN NEW CERTIFICATE REQUEST-----
MIIDEjCCAnsCAQAwRTEdMBsGA1UEAwwUbWFpbDEuY3VyZWxsc3Vub2wuZXMxFzAV
BgNVBAoMDmN1cmVsbHN1bm9sLmVzMQswCQYDVQQGEwJlczCBnzANBgkqhkiG9w0B
AQEFAAOBjQAwgYkCgYEAqRKljN4UQlW8liqCtANFsEm419rGkClOKnyli0Nv9Kpw
zkqcRbSd2zlZhnZ3gp6tZ89lf+xSX3xHvK+DrlCy7F85n3zdsC8hjdZGT1Wy0z2+
2sKdhh7f2TosI/ANKv07nHSVIAyT6sOgGYHjZBBUCD34aFPS9bS8Az/E55bfnCcC
AwEAAaCCAYswGgYKKwYBBAGCNw0CAzEMFgo2LjAuNjAwMi4yMEwGCSsGAQQBgjcV
FDE/MD0CAQUME1NSVk1BSUwuY3Vkb20ubG9jYWwME0NVRE9NXEFkbWluaXN0cmFk
b3IMDnBvd2Vyc2hlbGwuZXhlMHIGCisGAQQBgjcNAgIxZDBiAgEBHloATQBpAGMA
cgBvAHMAbwBmAHQAIABSAFMAQQAgAFMAQwBoAGEAbgBuAGUAbAAgAEMAcgB5AHAA
dABvAGcAcgBhAHAAaABpAGMAIABQAHIAbwB2AGkAZABlAHIDAQAwgaoGCSqGSIb3
DQEJDjGBnDCBmTAOBgNVHQ8BAf8EBAMCBaAwWgYDVR0RBFMwUYIUbWFpbDEuY3Vy
ZWxsc3Vub2wuZXOCG2F1dG9kaXNjb3Zlci5jdXJlbGxzdW5vbC5lc4ITc3J2bWFp
bC5jdWRvbS5sb2NhbIIHc3J2bWFpbDAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBRP
4V0qU6IPqF+Ys6Zjlksh3yEvnjANBgkqhkiG9w0BAQUFAAOBgQCNx0hnVVpq65kF
M4gBPFiRT37xHohCIUuc/h23erlKsRDxlImUo4oYqUqbPC3G0wwWK+0qnBIl+BP7
UoHUnKuivyfaQF3Xwg7gF+N4Xvt3cqxYgEUC6+vtFVu571+hBuEFZhpFSslxYqjU
UW4r3h80Bg94nWS4RjBvryKQqMzxdg==
-----END NEW CERTIFICATE REQUEST-----
En la sección llamada Enviar una solicitud de certificado o una solicitud de renovación, vamos a pegar el contenido del archivo en el cuadro de texto etiquetado como Codificado en Base64 Solicitud de certificado (CMC p (PKCS #10 o PKCS #7):
Una vez pegada la información de nuestra petición de certificado, desplegaremos el menú de opciones de la sección llamada Plantilla de certificado y seleccionaremos la opción Servidor web.
Una vez tengamos el formulario cumplimentado presionaremos el botón Enviar> situado en la parte inferior derecha de la página.
Si todo el proceso a terminado correctamente nos encontraremos en la sección llamada, Certificado emitido.
Seleccionaremos el tipo de Codificado que deseamos y presionaremos el enlace Descargar certificado para guardar el archivo de nuestro nuevo certificado de Exchange en nuestro disco duro local.
Una vez descargado el archivo *.cer, debemos importar el nuevo certificado a nuestro servidor de correo electrónico Microsoft Exchange y lo haremos con el siguiente cmdlet.
Import-ExchangeCertificate –Path c:\certnew.cer –FriendlyName
“Certificado SRVmail”
El parámetro FriendlyName, es opcional y nos permite especificar un nombre descriptivo para el certificado resultante. El nombre descriptivo debe tener menos de 64 caracteres.
Solo nos queda habilitar el certificado para los distintos servicios de correo de Exchange. Para realizar esta tarea vamos a usar el cmdlet que mostramos a continuación:
Enable-ExchangeCertificate –Thumbprint [HUELL_DIGITAL] –services “iis, pop, smtp, imap”
Con el parámetro Thumbprint, especificaremos el certificado que se va a habilitar. Cada certificado contiene una huella digital, que es un resumen de los datos del certificado. Para ver la huella digital de un certificado, utilizaremos el cmdlet Get-ExchangeCertificate desde la Exchange Powershell de nuestro servidor.
El parámetro Services, especifica los servicios que van ha usar el nuevo certificado. Las entradas válidas incluyen una o más de las siguientes opciones:
- IIS.
- IMAP.
- POP.
- SMTP.
- UM.
- UMCallRouter.
- Federation.
- None.
Para habilitar un certificado para varios servicios, separemos cada valor con un símbolo de coma (,), por ejemplo:
-Services IMAP,POP,IIS
La construcción final del comando en nuestro laboratorio será la siguiente:
Enable-ExchangeCertificate –Thumbprint 79AE065C73930DB9AFA3AA4F7C68DB4C31B5810C –services “iis, pop, smtp, imap”
Aunque este procedimiento funciona a la perfección, no es nada recomendable tener certificado autofirmados o emitido por una entidad certificadora de Microsft Windows instalado en nuestro entorno de red. La mejor manera de proceder seria, cambiar todos nuestros certificados no válidos por certificados emitidos por entidades de certificación válidas, a la larga nos ahorraremos mucho trabajo y dolores de cabeza.
Podéis acceder a toda la información de como sustituir un certificado emitido por una entidad certificadora de Microsft Windows por uno válido de forma individual usando el indice que mostramos a continuación:
- Microsoft Exchange: Sustituir certificado autofirmado por un certificado SSL válido - Parte 1.
- Microsoft Exchange: Sustituir certificado autofirmado por un certificado SSL válido - parte 2.
- Microsoft Exchange 2010: Complete Pending Request.
- Microsoft Exchange 2010: Asignar servicios a un certificado.
- Active Directory DNS: Crear una nueva zona.
- Microsoft Exchange 2010: Modificar URL interna y externa de los servicios - Parte 1.
- Microsoft Exchange 2010: Modificar URL interna y externa de los servicios - Parte 2.
Espero que os haya sido de utilidad.
No hay comentarios:
Publicar un comentario