Magazine High tech

Openfire + certificat StartSSL ou autres

Publié le 14 janvier 2010 par Cyrillevis

(Je rappel/signal juste que openfire est un très bon serveur jabber tournant sous java)

Ceci est un mémo écrit comme à 00h45, non relu, qui ne sera pas utile à grand monde je penses, mais sait on jamais.

Je considères que vous tournez sous debian lenny et avez openfire installé, sinon il faudra adapter

:)

Il faut tout d’abords vérifier que vous utiliser la bonne version de java qui va bien:

root@serveur:~# update-alternatives --config java

Il y a 3 alternatives fournissant « java ».

  Sélection    Alternative
-----------------------------------------------
          1    /usr/bin/gij-4.3
 +        2    /usr/lib/jvm/java-gcj/jre/bin/java
*         3    /usr/lib/jvm/java-6-sun/jre/bin/java

Afin d’utiliser java-6-sun, s’il le faut aptitude install sun-java6-jre.

Ensuite il vous faut générer un certificat via votre fournisseur de certificats, pour moi startssl.com. Un certificat class2 sera utilisé dans cette exemple.

Le problème que j’ai rencontré à été la non utilisation du keytool fourni par java-6-jre.
Je vous donne les commande a effectué pour importer dans le cas d’un startssl:

/etc/init.d/openfire stop
cd /etc/openfire/security
wget http://www.startssl.com/certs/ca.crt
wget http://www.startssl.com/certs/sub.class2.server.ca.crt
/usr/lib/jvm/java-6-sun-1.6.0.12/jre/bin/keytool -import -keystore truststore -trustcacerts -alias startcom.ca -file ca.crt

Un mot de passe vous est demandé: changeit
Puis on valide par: oui

/usr/lib/jvm/java-6-sun-1.6.0.12/jre/bin/keytool -import -keystore truststore -alias startcom.ca.sub -file sub.class2.server.ca.crt
On rentre le mot de passe: changeit

Ensuite afin de pouvoir configurer un certificat class2, il faut contourner la loi française:
On se rend sur cette page: http://java.sun.com/javase/downloads/index_jdk5.jsp pour y télécharger : Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 5.0

Le fichier jce_policy-1_5_0.zip récupéré sur le serveur, on l’unzip, puis on remplace ceux d’origine:

cp local_policy.jar /usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/security/local_policy.jar
cp US_export_policy.jar /usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/security/US_export_policy.jar

Ensuite afin de ne pas voir ceci pété par une mise à jour, on « divert » les fichiers:

dpkg-divert --divert /usr/share/doc/sun-java6-jre/local_policy.jar.ori --rename /usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/security/local_policy.jar
dpkg-divert --divert /usr/share/doc/sun-java6-jre/US_export_policy.jar.ori  --rename /usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/security/US_export_policy.jar

A nôter qu’avec ceci, si une mise à jour est disponible, il faudra la mettre à la mimine.

On redémarre ensuite openfire :

/etc/init.d/openfire start

On se rend sur la page web d’admin (port 9090) puis dans l’onglet « Paramètre du serveur », puis « Server Certificates » (en gros la page ssl-certificates.jsp)

Là, vous y supprimez les certificats présent autogénérés en cliquant sur la croix rouge.
On clique ensuite le bouton « import » en haut.

On touche au but, vous copier/coller votre mot de passe de votre certificat, vous coller la key et le certificat, on clique import, et Hop!

openfire startssl ok

Vous aurez le message suivant, ignorer le:
One or more certificates are missing. Click here to generate self-signed certificates or here to import a signed certificate and its private key.

That’s done, vous pourrez relancer votre client préféré, apprécier la non demande de validation du certificat, et t’chatter en toute discretion.

ps: Je relirais à l’occaz
J’ai mis 3 jours à m’en sortir (pas a plein temps je vous rassure)
[ad]


Retour à La Une de Logo Paperblog

A propos de l’auteur


Cyrillevis 1 partage Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Dossier Paperblog