# dialogue client (equiv telnet/SSL): openssl s_client -connect irc.pythagore-fd.fr:725 # generation cle RSA (exemple) : openssl genrsa 1024 > my.key # creation certificat x509 direct (exemple) : openssl req -new -key my.key -x509 -days 365 > my.crt # les 2 en un coup: # generation cle et cert CA (sans passphrase) au format PEM par defaut: openssl req -nodes -new -x509 -keyout ca_x509.key -out ca_x509.pem # personalisation openssl.cnf: mkdir /etc/ssl cp /usr/share/ssl/openssl.cnf /etc/ssl/ vi /etc/ssl/openssl.cnf /CA_default [ CA_default ] #dir = ./demoCA # Where everything is kept dir = /etc/ssl/certification # repertoire de travail global certs = $dir/certs # reperoitre des certificats #certificate = $dir/cacert.pem # The CA certificate #private_key = $dir/private/cakey.pem # The private key certificate = $dir/certif_x509_CA.pem # le certificat tiers de confiance private_key = $dir/cle_prive_CA.key # la cle privee tiers de confiance crl_dir = $dir/crl # repertoire des CRLs database = $dir/index.txt # fichier index (mini-base) new_certs_dir = $dir/newcerts # repertoire des nouveux certifs. serial = $dir/serial # no de serie en cours crl = $dir/crl.pem # CRL en cours # preparation pour generation de certificats: export OPENSSL_CONF=/etc/ssl/openssl.cnf mkdir /etc/ssl/certification cd /etc/ssl/certification touch index.txt echo '01' > serial # generation cle et cert serveur (ou personne) non signe, au format PEM: openssl req -nodes -new -keyout serveur.key -out serveur.csr ls /etc/ssl/certification/newcerts/01.pem # signature par le CA (du dessus): openssl ca -out serveur.pem -in serveur.csr # interrogation du certificat (exemple): openssl x509 -in serveur.pem -noout -text # encryption pour un destinataire (pub.pem) wget ftp://destinataire/pub.pem cat pub.pem | openssl rsautl -encrypt -in message.txt -out message.enc -certin # decryption par le destinataire (priv.key) cd /etc/ssl openssl rsautl -decrypt -in message.enc -inkey priv.key