Ceci est une ancienne révision du document !
Table des matières
OpenSSL
OpenSSL est une boîte à outils de chiffrement comportant deux bibliothèques et une interface en ligne de commande1).
Générer un certificat auto-signé
Ce genre de certificat doit être seulement utilisé pour le développement ou pour des tests, jamais pour des environnements de production.
Voir si OpenSSL est installé:
$ which openssl /usr/bin/openssl
Créer le certificat:
$ openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365
Pour localhost sur Mac
cd; mkdir .ssl openssl req -newkey rsa:2048 -x509 -nodes -keyout .ssl/localhost.key -new -out .ssl/localhost.crt -subj /CN=localhost -reqexts SAN -extensions SAN -config <(cat /System/Library/OpenSSL/openssl.cnf <(printf '[SAN]\nsubjectAltName=DNS:localhost')) -sha256 -days 3650 sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain .ssl/localhost.crt
Enlever un passphrase d'une clé
$ openssl rsa -in key.pem -out newkey.pem && mv newkey.pem key.pem
Générer un fichier PFX
Si on suppose avoir créé un certificat auto-signé, comme ci-haut, on peut générer un fichier PFX avec cette commande :
$ openssl pkcs12 -export -out certificate.pfx -inkey key.pem -in cert.pem
Mettre à jour OpenSSL sur Ubuntu
OpenSSL est peut-être à une vieille version sur Ubuntu (1.0.1f sur 14.04 et 1.0.2g sur 16.04). La méthode apt-get upgrade openssl
ne fonctionne pas, on aura 0 paquet de mis à jour.
Sur le site https://openssl.org voir quel paquetage tar
est présent. Au moment d'écrire ces lignes il s'agissait de https://www.openssl.org/source/openssl-1.0.2l.tar.gz
. Modifier l'URL en conséquence selon la version courante d'OpenSSL.
$ curl https://www.openssl.org/source/openssl-1.0.2l.tar.gz | tar xz $ cd openssl-1.0.2l $ sudo ./config $ sudo make $ sudo make install
Remplacer l'ancien exécutable d'OpenSSL par le nouveau avec un lien symbolique:
$ sudo ln -sf /usr/local/ssl/bin/openssl `which openssl`
Source : apt-get upgrade openssl won't bring Ubuntu 12.04 to latest version
Générer un CSR
Ces instructions sont pour générer un CSR pour un certificat SSL wildcard, par exemple *.mydomain.com
.
Il faut d'abord générer une clé .key
(ou .pem
) :
openssl genrsa –des3 –out mydomain.com.key 2048
Ensuite, il faut générer le fichier CSR. Dans Common name, il faut mettre une étoile (*
) pour le sous-domaine du domaine, exemple *.mydomain.com
.
openssl req –new –key mydomain.com.key –out mydomain.com.csr
Voir le randomart du host
Sur le client, faire:
$ nano ~/.ssh/config
Entrer la ligne suivante:
VisualHostKey=yes
On peut aussi utiliser l'option dans ssh
:
$ ssh user@host -o VisualHostKey=yes
Mettre à jour les certificats d'autorité sur Ubuntu 14.04
Si les certificats d'autorité (CA) ne sont pas disponibles sur le système, dans ces endroits:
/etc/ssl/certs
/usr/share/ca-certificates/mozilla
on peut les installer en faisant:
$ update-ca-certificates
Si la commande n'est pas disponible, installer le package ca-certificates
:
$ sudo apt-get install ca-certificates