spacer
spacer
Sélecteur de couleur : Site bleu Site vert Site orange
spacer
spacer spacer spacer




spacer spacer spacer spacer spacer
spacer spacer

L'auteur Ecrire

Depuis 1993, j'ai occupé les fonctions d'administrateur, de responsable de site, de chef de projet technique et d'architecte de système d'information à la sécurité renforcée.

 

Si vous avez besoin d'une assistance MOA, contactez-moi.

spacer spacer
spacer spacer spacer spacer spacer

Productions maison ...

Au sommaire :

1 - Memo des commandes de base d'OpenSSL

2 - Exemple de script de délégation de politique SMTP avec empreinte de certificat x509

Memo des commandes de base d'OpenSSL

OpenSSL 0.9.8+ : Liste des commandes de base pour la création, la visualisation de certificats (CA & User) et la manipulation du format pkcs12.

Télécharger

Haut de page

/******************************
 * Commandes de base OpenSSL  *
 * v1.1 du 04-12-06           *
 * Auteur : MICHEL S.         *
 *****************************/

A / CREATION DE CERTIFICAT NUMERIQUE
B / OPERATION SUR LES CLEFS ET LES CERTIFICATS
C / MANUPULATION DE PKCS12
D / GESTION DE LA CA
E / CHIFFREMENT SYNMETRIQUE
F / CHIFFREMENT ASYSMETRIQUE (RSA)
G / S/MIME


A / CREATION DE CERTIFICAT NUMERIQUE

    1 - Génération d'une clef RSA 4096 (CA) et protection de la clef par chiffrement AES 256
        # openssl genrsa -aes256 -out private/ca.key -rand ./ 4096

    2 - Création d'une Autorité de Certification racine ('CA ROOT') autosignée
          # openssl req -new -x509 -sha256 -days 3650 -key private/ca.key -out certs/ca.pem
            ==> Utilisation de SHA256 (SHA-1 est vulnérable)
            ==> L'utilisation de SHA256 nécéssite OpenSSL 0.9.8+.

    3 - Requete de certificat user/serveur.
    (Ne pas oublier de commenter/décommenter dans openssl.conf suivant le type de certificat)
        # openssl req -sha256 -new -key private/mail.key -out certs/mail.req

    4 - Signature du certificat par la CA
        # openssl ca -days 3650 -in certs/mail.req -out certs/mail.pem -notext

    5 - Visualisation d'un certificat
        # openssl x509 -in certs/mail.pem -noout -text 


B / OPERATION SUR LES CLEFS ET LES CERTIFICATS

    1 - Supprimer la passe phrase d'une clef privée
        # openssl rsa -in clefchiffre.key -out clefclair.key
    
    2 - Visualisation une empreinte MD5 d'un certificat
        # openssl x509 -in certificat.crt -noout -fingerprint -md5
        

C / MANUPULATION DE PKCS12

    1 - Creation d'un pkcs12 avec la chaine de certification (ca)
        # openssl pkcs12 -export -in mail.pem -inkey clefclair.pem 
            -certfile ca.pem -out mailserver.p12

    2 - Sortir une clef privée d'un P12
        # openssl pkcs12 -nocerts -in fichier.p12 -out clefchiffre.key

    3 - Sortir le certificat d'un P12
        # openssl pkcs12 -clcerts -nokeys -in fichier.p12 -out certificat.crt


D / GESTION DE LA CA

    1 - Revoquer un certificat
        # openssl ca -revoke certificat.pem

    2 - Creation d'une liste de revocation (CRL) d'un periode de validite de 30 jours
        # openssl ca -gencrl -out crl.pem -crldays 30

    3 - Visualisation d'une CRL
        # openssl crl -in crl.pem -text


E / CHIFFREMENT SYNMETRIQUE 

    1 - Chiffrement d'un fihier
        # openssl enc -aes256 -e -salt -in donneeclair.txt -out donneechiffre.enc

    2 - Dechiffrement d'un fichier
        # openssl enc -aes256 -d -in fichierchiffre.enc -out fichierclair.txt


F / CHIFFREMENT ASYSMETRIQUE (RSA)

    NB :     Il est possible d'utiliser le commutateur -k pour spécifier le mot de passe.
        Il n'est pas souhaitable de l'utiliser ==> .bash_history

    1 - Genere une clef publique deriver d'une clef privee 
        # openssl rsa -in rsaclefprivee.pem -pubout -out rsaclefpublique.pem

    2 - Chiffre avec une clef publique le fichier
        # openssl rsautl -encrypt -pubin -inkey rsaclefpublique.pem 
            -in fichierclair.txt -out fichierchiffre.enc

    3 - Dechiffre avec la clef privee le fichier
        # openssl rsautl -decrypt -inkey rsaclefprivee.pem 
            -in fichierchiffre.enc -out fichierclair.txt

    4 - Signe, avec la clef privee, le fichier fichier.txt en signature.sig
        # openssl rsautl -sign -inkey rsaclefprivee.pem 
            -in fichier.txt -out signature.sig

    5 - Verifie, avec la clef publique, la signature et sortie dans fichier.txt 
        # openssl rsautl -verify -pubin -inkey rsaclefpublique.pem 
            -in signature.bin -out fichier.txt


G / S/MIME

    1 - Genere un S/MIME, le certificat doit etre en 2eme parametre de -out
        # openssl smime -encrypt -aes256 -in mailclair.txt -out mailchiffre.enc certif.crt

    2 - Dechiffre un S/MIME en specifiant le certificat du destinataire associe a la clef
        # openssl smime -decrypt -in mailchiffre.enc 
            -recip certif.pem -inkey key.pem -out mailclair.txt

    3 - Signe un mail en incorporant le certificat
        # openssl smime -sign -in mail.txt -signer certif.pem -inkey key.pem -out mail.sgn
    
    4 - Verifie la signature d'un mail
        # openssl smime -verify -in mail.sgn -out mail.txt

Haut de page

 

Exemple de script de délégation de politique SMTP avec empreinte x509

Postfix 2.2+ : Authentification par empreinte de certificat X509 v3.(non maintenue c.f. maquette)

Log exemple produit

Haut de page

Près requis :

  • Un annuaire LDAP
  • PHP4 ou 5 en CLI
  • Module PHP LDAP
  • Variables TLS Postfix
    smtp_use_tls = yes
    smtpd_use_tls = yes
    smtp_enforce_tls = yes
    smtpd_enforce_tls = yes
    smtp_tls_ask_scert = yes
    smtpd_tls_ask_ccert = yes
    smtpd_tls_req_ccert = yes
Me contacter pour les sources

 

 
spacer spacer spacer
spacer authen  chouchou  CV  lien  production  sites  cnil spacer


Valid XHTML 1.0 Transitional  Valid CSS!
spacer