Outils pour utilisateurs

Outils du site


securite:openssl:toc

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
securite:openssl:toc [2017/08/18 06:18] sgariepysecurite:openssl:toc [2022/02/02 00:42] (Version actuelle) – modification externe 127.0.0.1
Ligne 16: Ligne 16:
   $ openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365   $ 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
 +
 +Installer et démarrer un serveur:
 +
 +  npm install http-server -g
 +
 +  http-server --ssl --cert ~/.ssl/localhost.crt --key ~/.ssl/localhost.key -a localhost -o
 +
 +
 +Source : [[https://paulbrowne.xyz/https-localhost|https://localhost]]
 ====== Enlever un passphrase d'une clé ====== ====== Enlever un passphrase d'une clé ======
  
Ligne 26: Ligne 41:
 ====== Générer un fichier PFX ====== ====== Générer un fichier PFX ======
  
-  $ openssl pkcs12 -export -out certificate.pfx -inkey cert -in +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 : [[https://superuser.com/questions/740930/apt-get-upgrade-openssl-wont-bring-ubuntu-12-04-to-latest-version|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 
 + 
 + 
 + 
 + 
 + 
 +====== Créer un certificat signé par un CA ====== 
 + 
 +Cette opération a été utilisée avec [[securite:vault|Vault]]. 
 + 
 +Générer le certificat racine: 
 + 
 + 
 +  $ openssl req -newkey rsa:2048 -days 3650 -x509 -nodes -out root.crt 
 + 
 +Générer la requête de certificat (CSR) et la clé privée: 
 + 
 +  $ openssl req -newkey rsa:2048 -nodes -out vault.csr -keyout vault.key  
 + 
 + 
 +Créer des fichiers qui seront utilisés pour la génération du certificat: 
 + 
 + 
 +  $ echo 000a > serialfile 
 +  $ touch certindex 
 + 
 + 
 +Créer un fichier ''vault-ca.conf'' avec le code suivant et en adaptant les chemins pour les fichiers ''root.crt'', ''certindex'', ''privkey.key'' et ''serialfile''
 + 
 +<code> 
 +[ ca ] 
 +default_ca = myca 
 + 
 +[ myca ] 
 +new_certs_dir = /tmp 
 +unique_subject = no 
 +certificate = /path/to/root.crt 
 +database = /path/to/certindex 
 +private_key = /path/to/privkey.key 
 +serial = /path/to/serialfile 
 +default_days = 365 
 +default_md = sha256 
 +policy = myca_policy 
 +x509_extensions = myca_extensions 
 +copy_extensions = copy 
 + 
 +[ myca_policy ] 
 +commonName = supplied 
 +stateOrProvinceName = supplied 
 +countryName = supplied 
 +emailAddress = optional 
 +organizationName = supplied 
 +organizationalUnitName = optional 
 + 
 +[ myca_extensions ] 
 +basicConstraints = CA:false 
 +subjectKeyIdentifier = hash 
 +authorityKeyIdentifier = keyid:always 
 +subjectAltName = IP:127.0.0.1 
 +keyUsage = digitalSignature,keyEncipherment 
 +extendedKeyUsage = serverAuth 
 +</code> 
 + 
 +Générer le certificat :  
 + 
 +  $ openssl ca -batch -config vault-ca.conf -notext -in vault.csr -out vault.crt 
 + 
 + 
 +Copier le certificat racine ''root.crt'' dans le répertoire ''/usr/local/share/ca-certificates'' et faire une mise à jour des CA: 
 + 
 +  $ sudo update-ca-certificates 
 +   
securite/openssl/toc.1503029906.txt.gz · Dernière modification : 2022/02/02 00:43 (modification externe)