Je fait suite à mon précédent article sur l’intégration d’un certificat signé par la PKI Micorsoft au sein du serveur Apache.
On va ici effectuer une demande pour le webmail de Zimbra.
le scénario est le suivant :
- ActiveDirectory 2008 R2 incluant la PKI
- Un client Windows 2008 R2 intégré au domaine
- Zimbra v8.0.7 sous CentOS 6.4 avec le paquet zimbra-proxy installé
Tout comme la demande pour Apache, il faut que le paquet OpenSSL soit installé.
On commence par créer la clef privé du serveur :
zimbra# openssl genrsa 2048 > /etc/pki/tls/private/zimbra.domain.tld.key
Puis on génère la requête :
zimbra# openssl req -new -key /etc/pki/tls/private/zimbra.domain.tld.key > /etc/pki/tls/private/zimbra.domain.tld.req You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [XX]:FR State or Province Name (full name) []:IDF Locality Name (eg, city) [Default City]:Paris Organization Name (eg, company) [Default Company Ltd]:Les Titans Organizational Unit Name (eg, section) []: Common Name (eg, your name or your server's hostname) []:zimbra.domain.tld Email Address []:admin@domain.tld Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
Une fois le fichier de requête transféré au serveur Windows, on va demander à la CA de créer un certificat :
windows# certreq -submit -attrib "CertificateTemplate:WebServer" zimbra.domain.tld.req
a la différence de apache, il est obligatoire de concaténer le root CA avec le certificat du service. Il faut donc récupérer le certificat public de notre ADSC :
windows# certutil -ca.cert c:\users\administrator\Desktop\ca_root.crt
une fois les deux certificats sur le serveur Zimbra, concaténez les deux via la commande suivante :
cat /etc/pki/tls/certs/zimbra.lab.rezo.local.crt /etc/pki/tls/certs/ca_root.crt > /etc/pki/tls/certs/complete_zimbra.lab.rezo.local.crt
Enfin aller dans l’interface web d’administration de Zimbra et copier-coller le contenu du certificat dans l’onglet configuration -> domaine -> domain.tld > Certificats (colone de gauche) et dans la colonne de droite la clef privé du serveur que nous avons créé auparavant et cliquer sur sauvegarder.
Comme l’indique le popup, il faut effectuer une commande sur le serveur lui même afin de déployer ce nouveau certificat. Pour cela
mkdir /opt/zimbra/conf/domaincerts <- petit bug de Zimbra qui ne créer pas le repertoire si celui-ci n'existe pas chown zimbra:zimbra /opt/zimbra/conf/domaincerts /opt/zimbra/libexec/zmdomaincertmgr deploycrts su - zimbra zmnginxctl restart
enfin connectez-vous sur l’interface web depuis le client :
et voila un beau webmail reconnu par votre navigateur