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:22] 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 29: Ligne 44:
      
   $ openssl pkcs12 -export -out certificate.pfx -inkey key.pem -in cert.pem   $ 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.1503030151.txt.gz · Dernière modification : 2022/02/02 00:43 (modification externe)