Table des matières

LA PAGE EST EN CONSTRUCTION

Braveo : OpenCa

Nous avons essayer d'utiliser openca qui avec openldap nous donnaient un platreforme open :) mais sans resultats l'installation est ok mais il ya un truc a faire et nous n'avons trouvé. Voici ce qu'on a fait:

je suit la doc officiel

Le produit que nous allons utiliser est OpenCA prés requis: une debian(lenny) toute fraiche

installation de mysql

aptitude install mysql-server

Se connecter au DBMS:

mysql -u root -p -h localhost

ensuite créer la base de donnée:

CREATE DATABASE openca;

et maintenant selection la base de donnée

use openca;

Donner les droits a l'utilisateur openca

GRANT ALL PRIVILEGES ON *.* TO 'openca'@'localhost' IDENTIFIED BY 'password';

et sortir

exit

l'utilisateur est créé on peut le tester en se c onnectant avec:

mysql -u openca -p -h localhost openca

Apache

maintenant nous allons configurer apache pour qu'il fasse du SSL je pars de cette doc http://cloudservers.mosso.com/index.php/Debian_Lenny_-_Apache,_SSL_and_Virtual_Hosts

nous allons l'installer

aptitude install apache2

Nous créons le certificats auto-signé

openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem

on répond aux questions

Country Name (2 letter code) [AU]:FR
State or Province Name (full name) [Some-State]:FRANCE
Locality Name (eg, city) []:BREST
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Maison du libre
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []: openca.braveo.net     
Email Address []:

on change les droits sur ce fichier

chmod 600 /etc/apache2/apache.pem

ensuite on verifie que dans le fichier /etc/apache2/ports.conf

vi /etc/apache2/ports.conf

qu'il y a bien la ligne

Listen 443

et toujours dans ce fichier on ajoute

NameVirtualHost *:443

on active le module ssl

a2enmod ssl

ensuite on va modifier le virtualhost défault pour qu'il fasse du ssl

vi /etc/apache2/sites-available/default

on lui ajoute

<VirtualHost *:443>

      ServerAdmin webmaster@localhost

      DocumentRoot /var/www/
SSLEngine on
SSLCertificateFile /etc/apache2/apache.pem
</VirtualHost>

et on redemarre apache

/etc/init.d/apache restart

on verifie que cela fonctionne avec un navigateur sur l'adresse

https://adresseip/

maintenant que cela fonctionne nous allons configurer un site web que nous allons appeller openca.braveo.net

nous allons créer un fichier /etc/apache2/site-available/openca

vi /etc/apache2/site-available/openca

et nous allons le remplir de tout ça

<VirtualHost openca.braveo.net:80>
      ServerAdmin webmaster@localhost
      DocumentRoot /var/www/openca
      ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
      ErrorLog /var/log/apache2/error.log
      # Possible values include: debug, info, notice, warn, error, crit,
      # alert, emerg.
      LogLevel debug
      CustomLog /var/log/apache2/access.log combined
      Alias /doc/ "/usr/share/doc/"
      Redirect / https:/openca.braveo.net

</VirtualHost>
<VirtualHost openca.braveo.net:443>

      ServerAdmin webmaster@localhost

      DocumentRoot /var/www/openca
      SSLEngine on
      SSLOptions +StrictRequire +StdEnvVars +ExportCertData
      SSLCertificateFile /etc/apache2/apache.pem
</VirtualHost>

ensuite on active le site

a2ensite openca

et on reload apache

/etc/init.d/apache2 reload

heu n'oubliez pas de créer l'entrée DNS ou de modifier le fichier host

on teste avec un navigateur

https://openca.braveo.net

OpenCA tools

On installer les dépendances

aptitude install build-essential perl  libnet-ldap-perl \
libcgi-session-perl libconvert-asn1-perl libdigest-hmac-perl libdigest-md5-perl \
libdigest-sha-perl libdigest-sha1-perl libio-socket-ssl-perl libio-stringy-perl \
libmime-base64-perl libmime-lite-perl libmime-tools-perl libmailtools-perl \
libnet-server-perl  libparse-recdescent-perl  liburi-perl libx500-dn-perl \
libintl-perl libssl-dev  libxml-twig-perl libxml-sax-expat-perl libexpat1-dev \
libnet-ldap-perl 

il ya des dependances que je n'ai pu resoudre avec les paquets debain du coup je les install depuis le CPAN

perl -MCPAN -e shell

et ensuite installer les depandances

install YAML
install Encode::Unicode
install DB_File

le dernier plante a l'install alors j'ai essayé différent truc

aptitude install libdb4.5-dev  

marche pas mieux

j'ai essayer de le compiler a la main

cd /root/.cpan/build/DB_FIlexxxxx
make test

il plante sur Test:Pod alors retour sous cpan

perl -MCPAN -e shell

et

install Test:Pod

il a un max de depandence j'accepte …. je retourne le repertoire DB_File

cd /root/.cpan/build/DB_FIlexxxxx

je refait le make test

make test

il replante ça me gonfle

rm -rf DB*

et re cpan

perl -MCPAN -e shell

et a nouveau un

install DB_File

et la il est passé….J'ai rien compris

open ldap ??

ensuite telecharger openca-tools

decompresser le et faire le traditionnel

./configure 
make clean
make
make install

openCA

ensuite faire de même pour le openca-base le télécharger et le décompresser le configurer avec les options de compilation:

./configure --prefix=/opt/openca-1.1.0 \
               --with-ca-organization="Braveo" \
               --with-httpd-fs-prefix=/var/www \
               --with-httpd-main-dir=pki \
               --with-db-name=openca \
               --with-db-host=localhost \
               --with-db-user=openca \
               --with-db-passwd=password \
               --with-db-type=mysql \
               --with-service-mail-account="support@pki.braveo.net"
make 
make install-offline install-online

openldap

maintenant nous allons récupérer le schéma d'openca pour le mettre dans l'open ldap

scp  /opt/openca-1.1.0/etc/openca/contrib/openldap/openca.schema root@ldaphost:/etc/ldap/schema/

et éditer le fichier slapd.conf sur le ldaphost

vi /etc/ldap/slap.conf

et ajouter aux lignes

include         /etc/ldap/schema/core.schema
include         /etc/ldap/schema/cosine.schema
include         /etc/ldap/schema/nis.schema
include         /etc/ldap/schema/dyngroup.schema
include         /etc/ldap/schema/inetorgperson.schema
include         /etc/ldap/schema/qmail.schema

la ligne

include         /etc/ldap/schema/openca.schema

Maintenant nous allons modifier le schéma d'openldap car il declare un deuxieme fois la class pkiuser et la class pkiCA Donc sur ldaphost

vi /etc/ldap/schema/openca.schema

ensuite aller à la ligne 122 et commentez le bloc

objectclass ( 2.5.6.21 NAME 'pkiUser' SUP top AUXILIARY
      MAY ( userCertificate )
      )

objectclass ( 2.5.6.22 NAME 'pkiCA' SUP top AUXILIARY
        MAY ( cACertificate $ certificateRevocationList $ authorityRevocationList $ crossCertificatePair )
        )

et redemarrer le ldap

/etc/init.d/slapd restart