« Apache2 Authentification par carte à puce » : différence entre les versions

De NCad Wiki
Aller à la navigation Aller à la recherche
Ligne 48 : Ligne 48 :
== Installation du certificat ==
== Installation du certificat ==


=== Conversion du certificat au format cer ===
=== Conversion du certificat au format .cer ===


En l’état, le fichier de certificat au '''format p7b''' ne peut pas être exploité par le serveur web '''Apache2'''. Il est nécessaire de convertir le fichier au '''format cer'''.
En l’état, le fichier de certificat au '''format p7b''' ne peut pas être exploité par le serveur web '''Apache2'''. Il est nécessaire de convertir le fichier au '''format cer'''.

Version du 13 juillet 2024 à 20:27

Serveur Web

Installation d'Apache2 Paramétrage courant

Certificats SSL Web | .htaccess | Authentification par carte à puce | Certificats Let's Encrypt


Archives : Ancien article sur Apache2 | Module Whois | ProFTPd


Note de version

Certificats de l’autorité racine émettant les cartes à puce

  1. Se rendre sur le site web de l’autorité de certification IGC-Santé accessible depuis le lien http://igc-sante.esante.gouv.fr.
  2. Télécharger le fichier de certificat au format PKCS#7 (P7B) regroupant tous les certificats racine de l’autorité.
  3. Téléverser ce fichier sur le serveur web via une connexion SFTP.

Configuration initiale

  • Pour illustrer cette documentation – nous déploierons à titre d’exemple – l’authentification par carte à puce sur le site web fictif www.smartcard.lan.
  • Sur notre serveur web Apache2, ce site dispose d’un vhost dédié. Voici la configuration initiale de ce vhost sauvegardée dans le fichier /etc/apache2/sites-available/www.smartcard.lan.conf :
<VirtualHost *:80>
	DocumentRoot /var/www/smartcard.lan/www/
	ServerName www.smartcard.lan

	ErrorLog ${APACHE_LOG_DIR}/smartcard.lan_error.log
	CustomLog ${APACHE_LOG_DIR}/smartcard.lan_access.log combined

	RedirectPermanent "/" "https://www.smartcard.lan"

	<Directory /var/www/smartcard.lan/www/>
		allow from all
		AllowOverride all
		Options +Indexes
	</Directory>
</VirtualHost>
<VirtualHost *:443>
	DocumentRoot /var/www/smartcard.lan/www/
	ServerName www.smartcard.lan

	ErrorLog ${APACHE_LOG_DIR}/smartcard.lan_error.log
	CustomLog ${APACHE_LOG_DIR}/smartcard.lan_access.log combined

	<Directory /var/www/smartcard.lan/www/>
		allow from all
		AllowOverride all
		Options +Indexes
	</Directory>

	SSLEngine on
	SSLCertificateFile /etc/ssl/private/smartcard.lan.crt
	SSLCertificateKeyFile /etc/ssl/private/smartcard.lan.key
</VirtualHost>

Installation du certificat

Conversion du certificat au format .cer

En l’état, le fichier de certificat au format p7b ne peut pas être exploité par le serveur web Apache2. Il est nécessaire de convertir le fichier au format cer.

  1. Ouvrir une session SSH sur le serveur web.
  2. Se rendre dans le répertoire où a été téléversé le fichier de certificat p7b.
  3. Exécuter la commande suivante pour la conversion :
    Openssl pkcs7 -print_certs -in Chaine_de_certification-IGC-Sante.p7b –out Chaine_de_certification-IGC-Sante.cer
  4. Déplacer le fichier convertit dans le répertoire /etc/ssl/private :
    mv Chaine_de_certification-IGC-Sante.cer /etc/ssl/private
  5. Affecter les autorisations adéquates sur le certificat pour permettre d'être lu par l’utilisateur www-data :

chown root:www-data /etc/ssl/private/Chaine_de_certification-IGC-Sante.cer
chmod 640 /etc/ssl/private/Chaine_de_certification-IGC-Sante.cer