Añadir un certificado a Zimbra

Bueno, en este ejemplo les voy a contar como hacer para agregar un certificado a nuestro servidor zimbra. El cert que agregamos sirve para todo, se usa el mismo para imap, pop y postfix.

La parte fácil:
1) Van a la interfaz consola de admin https://tuhost:7071/zimbraAdmin/
2) Clic en certificados -> Clic en el nombre del servidor -> Clic en Instalar.
3) Seleccionamos nuestro servidor y hacemos clic en siguiente.
4) Seleccionamos la opción

A mi en particular me pasó un error bastante común cuando inicié el servidor:

Host spgr.com
Starting ldap…Done.
Unable to determine enabled services from ldap.
Enabled services read from cache. Service list may be inaccurate.

Starting logger…Failed.
Starting logswatch…ERROR: service.FAILURE (system failure: ZimbraLdapContext) (cause: javax.net.ssl.SSLHandshakeException sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target)
zimbra logger service is not enabled! failed.

Starting mailbox…Done.
Starting antispam…Done.
Starting antivirus…Done.
Starting snmp…Done.
Starting spell…Done.
Starting mta…Done.
Starting stats…Done.

/opt/zimbra/java/bin/keytool -import -alias root -keystore /opt/zimbra/java/jre/lib/security/cacerts -storepass changeit -file /opt/zimbra/conf/ca/commercial_ca.pem

y eso es todo amigos 😉
Espero les sirva.

UPDATE: Algo que me pasó es que zimbra me corta los SubjectAltName, que es muy útil cuando queremos que nuestro servidor sea seguro para varios dominios, en mi caso imap.miserver.com, pop.miserver.com y smtp.miserver.com. Para que funcione bien editamos el archivo /opt/zimbra/bin/zmcertmgr al final de esto:

ALTNAMES=""
tmphosts=`echo $* | sed -e "s/,/ /g" -e "s/${zimbra_server_hostname}//g"`
# remove any duplicate hosts.
althosts=`perl -e '%uniq = map {$_ => 1} @ARGV; print join(" ", sort keys %uniq), "\n"' $tmphosts`
for alt in $althosts; do
if [ "x$ALTNAMES" = "x" ]; then
ALTNAMES="subjectAltName = DNS:${zimbra_server_hostname},DNS:${alt}"
else
ALTNAMES="${ALTNAMES},DNS:${alt}"
fi
done

Agregamos:

ALTNAMES="subjectAltName = DNS:imap.miserver.com, DNS:smtp. miserver.com, DNS:pop. miserver.com"

[poll id=”3″]

Tags: , , , , ,

9 Responses to “Añadir un certificado a Zimbra”

  1. Te agradezco muchísimo, porque en un momento que cometí la regada de actualizar el certificado en un servidor en producción en horas hábiles. Me fue de gran ayuda tu solución:

    “opt/zimbra/java/bin/keytool -import -alias root -keystore /opt/zimbra/java/jre/lib/security/cacerts -storepass changeit -file /opt/zimbra/conf/ca/commercial_ca.pem”

    Lo que me asustó fue que me dio el siguiente error:

    “Mensaje: Unknown Error Código de error: AjxException.UNKNOWN_ERROR Method: AjxRpc.prototype._invoke Detalles:[Exception… “Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIXMLHttpRequest.send]” nsresult: “0x80004005 (NS_ERROR_FAILURE)” location: “JS frame :: https://mail.nameserver….”

    Pero lo solventé liberando la caché, y entrando nuevamente.

    Saludos.

  2. Luis Fernando says:

    Muchas gracias por este post… me ayudo mucho pero mucho… mi problema no se en realidad por que se genero pero zimbra dejo de trabajar así como así… el mensaje que me salia cuando intente iniciar los servicios fue:
    Unable to determine enabled services from ldap.
    Unable to determine enabled services. Cache is out of date or doesn’t exist.

    y ahora trabaja bien con tus recomendaciones.

    Gracias.

  3. Yest says:

    gracias tu solucion la use y me resulto ser super util, mas bien como añado otro certificado para un dominio adicional que he añadido a mi zimbra? me puedes ayudar con esto pues tengo un dominio funcionando con su respectivo certificado de godaddy pero he añadido un dominio mas y deseo generar su respectivo cetificado.

    Gracias de antemano.

    Yest

  4. Vanessa says:

    Buenas, para que version de zimbra se puede agregar el certificado? me funcionaría para la version libre de zimbra ?

  5. marco says:

    Hola, me servidor zimbra a dejado de funcionar asi de repente y me muestra este error:

    Unable to determine enabled services from ldap.
    Enabled services read from cache. Service list may be inaccurate.
    Starting logger…Failed.
    Starting logswatch…ERROR: service.FAILURE (system failure: ZimbraLdapContext) (cause: javax.net.ssl.SSLHandshakeException sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: timestamp check failed)
    zimbra logger service is not enabled! failed.

    esto ya a pasado el año pasado… ahora ejecuto lo indicado pero me sale este error:

    error de keytool: java.lang.Exception: Certificado no importado, el alias ya existe
    k pasa???

    Salds.