Apache et SSL et un peu d’Android

Ca fait quelques temps (doux euphémisme) que je n’ai pas posté sur le blog. La faute à la fin de l’année, toujours, chargée et à 2-3 autres projets qui m’ont pris pas mal de temps dans ma thèse.Voici donc un article qui traite de quelques détails liés à Apache et aux certificats SSL.
Pour cela, je travaille sur un Ubuntu.

Contexte

J’ai un nom de domaine (rafaelguglielmetti.ch) que je n’utilise presque que pour des services personnels:

L’idée c’est d’utiliser des sous-domaines et du https pour accéder à tout cela.

Génération d’un certificat

Remarque: Je suppose que je suis connecté en root, j’évite donc de préfixer mes commandes par sudo, ce qu’il faudra faire si cela n’est pas le cas.
On crée le dossier qui contiendra les certificats:

mkdir /etc/apache2/ssl

On crée le certificat:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/rafaelguglielmetti.key -out /etc/apache2/ssl/rafaelguglielmetti.crt

On répond bien gentiment aux questions qui sont posées…

La configuration d’Apache

A la base, la configuration d’Apache ressemble à quelque chose comme cela:

<VirtualHost *:80>
	ServerAdmin webmaster@localhost

	DocumentRoot /var/www/rgugliel
	<Directory />
		Options FollowSymLinks
		AllowOverride All
	</Directory>
	<Directory /var/www/rgugliel>
		Options -Indexes FollowSymLinks MultiViews
		AllowOverride All
		Order allow,deny
		allow from all
	</Directory>

	#d'autres trucs ici
</VirtualHost>

J’ajoute à la suite:

<VirtualHost *:80>
    ServerName ttrss.rafaelguglielmetti.ch
    Redirect / https://ttrss.rafaelguglielmetti.ch
</VirtualHost>

<VirtualHost *:443>
	ServerName ttrss.rafaelguglielmetti.ch
	ServerAlias ttrss.rafaelguglielmetti.ch

	DocumentRoot /var/www/rgugliel/ttrss

	SSLEngine on
	SSLCertificateFile /etc/apache2/ssl/rafaelguglielmetti.crt
	SSLCertificateKeyFile /etc/apache2/ssl/rafaelguglielmetti.key
</VirtualHost>

Le but est:

  • De forcer l’utilisation de https (le redirect sur le port 80)
  • D’indiquer quoi faire avec le sous domaine et quel certificat utiliser

Un peu d’Android

Je voulais importer ma clé sous Android une bonne fois pour toute (comme elle est auto-signée, les appareils sont le plus souvent pas très contents ;-))

La première chose est d’exporter la partie publique de la clé dans le bon format.

cd /etc/apache2/ssl
openssl x509 -in rafaelguglielmetti.crt -pubkey -out owncloud.rafaelguglielmetti.public.crt
openssl x509 -in rafaelguglielmetti.public.crt -outform der -out owncloud.rafaelguglielmetti.public.cer

Ensuite, on réalise l’importation comme indiqué ici: http://davdroid.bitfire.at/configuration#c77

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *