Provided by: manpages-fr-extra_20151231_all bug

NOM

       smime - Utilitaire S/MIME

SYNOPSIS

       openssl smime [-encrypt] [-decrypt] [-sign] [-resign] [-verify] [-pk7out] [-chiffrement] [-in fichier]
       [-no_alt_chains] [-certfile fichier] [-signer fichier] [-recip fichier] [-inform SMIME|PEM|DER] [-passin
       param] [-inkey fichier] [-out fichier] [-outform SMIME|PEM|DER] [-content fichier] [-to adresse] [-from
       adresse] [-subject sujet] [-text] [-indef] [-noindef] [-stream] [-rand fichier(s)] [-md algorithme]
       [cert.pem] ...

DESCRIPTION

       La commande smime traite les courriers S/MIME. Elle peut chiffrer, déchiffrer, signer et vérifier les
       messages S/MIME.

OPTIONS DE LA COMMANDE

       Six options d’opération permettent de définir le type d’opération à réaliser. La signification des autres
       options dépend du type d’opération.

       -encrypt
           Chiffrer  un message pour les certificats de destinataires donnés. Le fichier d’entrée est le message
           à chiffrer. Le fichier de sortie est le message chiffré au format MIME.

       -decrypt
           Déchiffrer un message en utilisant le certificat et la  clef  privée  fournis.  Le  fichier  d’entrée
           attendu est un message chiffré au format MIME. Le fichier de sortie est le message déchiffré.

       -sign
           Signer  un  message  en utilisant le certificat et la clef privée fournis. Le fichier d’entrée est le
           message à signer. Le fichier de sortie est le message signé au format MIME.

       -verify
           Vérifier un message signé. Un message signé est attendu en entrée, les données signées sont  envoyées
           en sortie. Les signatures en texte clair et opaques sont prises en charge.

       -pk7out
           Écrire une structure PKCS#7 encodée PEM en sortie à partir d’un message en entrée.

       -resign
           Re-signer un message à partir d’un message existant et au moins un nouveau signataire.

       -in fichier
           Le message d’entrée à chiffrer ou signer, ou le message MIME à déchiffrer ou vérifier.

       -inform SMIME|PEM|DER
           Cela  indique  le format d’entrée pour la structure PKCS#7. C’est SMIME par défaut qui lit un message
           au format S/MIME. Les formats PEM et DER modifient cela pour pour attendre des structures  PKCS#7  au
           format  PEM  ou  DER à la place. Cela ne concerne actuellement que le format d’entrée de la structure
           PKCS#7, si aucune structure PKCS#7 n’est fournie en entrée (par  exemple  avec  -encrypt  ou  -sign),
           cette option ne sert à rien.

       -out fichier
           Le  texte de message qui a été déchiffré ou vérifié, ou le message de sortie au format MIME qui a été
           signé ou vérifié.

       -outform SMIME|PEM|DER
           Cela indique le format de sortie pour la structure PKCS#7.  C’est  SMIME  par  défaut  qui  écrit  un
           message  au  format  S/MIME.  Les  formats  PEM et DER modifient cela pour pour écrire des structures
           PKCS#7 au format PEM ou DER à la place. Cela ne concerne actuellement que le format de sortie  de  la
           structure  PKCS#7, si aucune structure PKCS#7 n’est en sortie (par exemple avec -verify ou -decrypt),
           cette option ne sert à rien.

       -stream, -indef
           Les options -stream et -indef sont équivalentes  et  activent  l’utilisation  de  flux  d’entrées  et
           sorties  pour les opérations d’encodage. Cela permet le traitement de données en une seule passe sans
           devoir faire tenir tout le contenu en mémoire, avec la possibilité de prendre en charge de très  gros
           fichiers.  Le  flux  est automatiquement défini pour la signature S/MIME avec données détachées si le
           format de sortie est SMIME, et actuellement désactivé par défaut pour toutes les autres opérations.

       -noindef
           Désactiver le flux d’entrées et sorties là  où  cela  produirait  un  encodage  construit  de  taille
           indéfinie.  Cette  option ne sert actuellement à rien. À l’avenir, le flux sera activé par défaut sur
           toutes les opérations adéquates, et cette option permettra de le désactiver.

       -content fichier
           Cela indique un fichier avec le contenu détaché, ce n’est utile qu’avec la commande -verify. Ce n’est
           utilisable que si la structure PKCS#7 utilise la forme de signature détachée où le contenu n’est  pas
           inclus.  Cette  option  écrasera tout le contenu si le format d’entrée est S/MIME et qu’il utilise le
           type de contenu MIME multipart/signed.

       -text
           Cette option ajoute les en-têtes MIME de texte  clair  (text/plain)  au  message  fourni  en  cas  de
           chiffrement  ou  de signature. En cas de déchiffrement ou de vérification, cela supprime les en-têtes
           de texte : si le message déchiffré ou vérifié n’est pas de type MIME  text/plain,  alors  une  erreur
           survient.

       -CAfile fichier
           Un fichier contenant les certificats d’autorités de confiance, utilisé seulement avec -verify.

       -CApath rép
           Un  répertoire contenant les certificats d’autorités de confiance, utilisé seulement avec -verify. Ce
           répertoire doit être un répertoire de certificats normalisé : c’est-à-dire qu’un  hachage  de  chaque
           nom de sujet (utilisant x509 -hash) devrait être lié à chaque certificat.

       -md algorithme
           L’algorithme  de  signature  à  utiliser  lors  de  signature  ou  re-signature.  En  cas  d’absence,
           l’algorithme de signature par défaut pour la clef de signature sera utilisé (en général SHA1).

       -chiffrement
           L’algorithme de chiffrement à utiliser. Par exemple DES (56 bits) - -des, DES  triple  (168  bits)  -
           -des3. Tout ce qui est accepté par la fonction EVP_get_cipherbyname() peut aussi être utilisé précédé
           d’un  tiret,  par  exemple -aes_128_cbc. Consultez enc(1) pour une liste d’algorithmes de chiffrement
           pris en charge par cette version d’OpenSSL.

           En absence d’indication, DES triple est utilisé. Utilisé seulement avec -encrypt.

       -nointern
           Lors de la vérification d’un message,  les  certificats  inclus  (s’il  y  en  a)  sont  généralement
           recherchés  dans  le  message  pour  trouver le certificat de signature. Avec cette option, seuls les
           certificats indiqués dans l’option -certfile sont utilisés. Les certificats fournis peuvent cependant
           toujours être utilisés comme autorités de certification non dignes de confiance.

       -noverify
           Ne pas vérifier le certificat des signataires d’un message signé.

       -nochain
           Ne pas enchaîner la vérification des certificats de signataires : c’est-à-dire ne  pas  utiliser  les
           certificats dans le message signé comme autorités de certification non dignes de confiance.

       -nosigs
           Ne pas essayer de vérifier les signatures sur le message.

       -nocerts
           Lors de la signature d’un message, le certificat du signataire est normalement inclus, mais est exclu
           avec  cette option. Cela réduira la taille du message signé mais le vérificateur doit avoir une copie
           locale disponible du certificat des signataires (passée en utilisant par exemple l’option -certfile).

       -noattr
           Normalement, quand un message est signé, un ensemble d’attributs est inclus,  y  compris  l’heure  de
           signature et les algorithmes symétriques pris en charge. Avec cette option, ils ne sont pas inclus.

       -binary
           Normalement,  le  message  d’entrée  est  converti au format « canonique », c’est à dire en utilisant
           effectivement RC et PAL (CR et LF en anglais) comme fin de ligne : conformément  à  la  spécification
           S/MIME.  Quand  cette  option  est  présente,  aucune  traduction n’est réalisée. C’est utile lors du
           traitement de données binaires qui pourraient ne pas être au format MIME.

       -nodetach
           Lors de la signature d’un message en utilisant une signature opaque : cette forme résiste mieux à  la
           traduction  par  relais de message, mais ne peut pas être lue par des clients de lecture de courriers
           qui ne prennent pas en charge S/MIME. Sans cette option, une signature en clair  avec  le  type  MIME
           multipart/signed est utilisée.

       -certfile fichier
           Permet d’indiquer plusieurs certificats supplémentaires. Lors de la signature, ils seront inclus avec
           le  message.  Lors  de  la  vérification,  ils  seront  parcourus  à  la  recherche de certificats de
           signataires. Les certificats devraient être au format PEM.

       -signer fichier
           Un certificat de signature lors de la signature ou re-signature d’un message, cette option peut  être
           utilisée  plusieurs  fois  si  plus  d’un  signataire  est  nécessaire. Si un message est en cours de
           vérification, alors les certificats des signataires seront écrits dans ce fichier si la  vérification
           est réussie.

       -recip fichier
           Le certificat des destinataires lors du déchiffrement d’un message. Ce certificat doit correspondre à
           celui des destinataires du message ou alors une erreur survient.

       -inkey fichier
           La  clef  privée  à  utiliser  lors  de  la  signature ou du déchiffrement. Cela doit correspondre au
           certificat correspondant. Si cette option n’est pas indiquée, alors la clef privée doit être  incluse
           dans  le  fichier  de  certificats  indiqué avec les options -recip ou -signer. Lors de la signature,
           cette option peut être utilisée plusieurs fois pour indiquer des clefs successives.

       -passin param
           La source du mot de passe de la clef privée. Pour plus de renseignements  sur  le  format  de  param,
           consultez la section PARAMÈTRES DE PHRASE SECRÈTE d'openssl(1).

       -rand fichier(s)
           Un ou plusieurs fichiers contenant des données aléatoires utilisées pour initialiser le générateur de
           nombres  pseudoaléatoires, ou une socket EGD (consultez RAND_egd(3)). Plusieurs fichiers peuvent être
           indiqués en utilisant le séparateur du système d'exploitation : « ;  »  pour  Windows,  «  ,  »  pour
           OpenVMS et « : » pour tous les autres.

       cert.pem ...
           Au moins un certificat de destinataires de message : utilisé lors du chiffrement d’un message.

       -to, -from, -subject
           Les  en-têtes  de  message  adéquats. Ils sont inclus hors de la partie signée d’un message donc vous
           pouvez les inclure vous-même. En cas de signature, plusieurs clients de  courriers  S/MIME  vérifient
           que  l’adresse  électronique  du certificat des signataires correspond à celle indiquée dans le champ
           From.

       -purpose, -ignore_critical, -issuer_checks, -crl_check, -crl_check_all, -policy_check, -extended_crl,
       -x509_strict, -policy, -check_ss_sig, -no_alt_chains
           Définir plusieurs options de vérification de chaîne de  certificats.  Consultez  la  page  de  manuel
           verify(1) pour plus de précisions.

NOTES

       Le  message MIME doit être envoyé sans ligne vide entre les en-têtes et la sortie. Certains programmes de
       courriers ajouteront automatiquement une ligne vide.  Passer  le  message  dans  un  tube  directement  à
       sendmail est une façon de conserver le format correct.

       Le message fourni à signer ou chiffrer doit inclure les en-têtes MIME nécessaires sinon plusieurs clients
       S/MIME  ne  l’afficheront  pas  correctement  (ou  pas du tout). Vous pouvez utiliser l’option -text pour
       ajouter automatiquement les en-têtes en texte clair.

       Un message « signé et chiffré » est un message signé qui est ensuite chiffré. Cela peut être  réalisé  en
       chiffrant un message déjà signé : consultez la section d’exemples.

       Cette  version  du  programme  ne  permet  qu’un  seul  signataire  par  message mais vérifiera plusieurs
       signataires sur les messages reçus. Certains clients S/MIME ont des problèmes avec les messages contenant
       plusieurs signataires. Les messages peuvent être signés « en parallèle  »  en  signant  un  message  déjà
       signé.

       Les options -encrypt et -decrypt miment l’utilisation classique dans les clients S/MIME. Pour être exact,
       elles traitent des données enveloppées PKCS#7 : les données chiffrées PKCS#7 sont utilisées dans d’autres
       buts.

       L’option  -resign  utilise  un  algorithme  de signature de message existant lors de l’ajout d’un nouveau
       signataire. Cela signifie que les attributs doivent être présents dans au moins une  signature  existante
       utilisant le même algorithme de signature de message, ou cette opération échouera.

       Les options -stream et -indef activent la prise en charge expérimentale de flux d’entrées et sorties. Par
       conséquent, l’encodage est BER en utilisant un encodage construit de taille indéfinie et non plus DER. Le
       flux est pris en charge pour les opérations -encrypt et -sign si le contenu n’est pas détaché.

       Le flux est toujours utilisé pour l’opération -sign avec les données détachées mais puisque le contenu ne
       fait plus partie de la structure PKCS#7, l’encodage reste DER.

CODES DE RETOUR

       0   L’opération s’est terminée correctement.

       1   Une erreur est survenue lors du traitement des options de la commande.

       2   Un des fichiers d’entrée n’a pas pu être lu.

       3   Une erreur est survenue lors de la création du fichier PKCS#7 ou lors de la lecture du message MIME.

       4   Une erreur est survenue lors du déchiffrement ou de la vérification du message.

       5   Le message a été vérifié correctement mais une erreur est survenue lors de l’écriture des certificats
           de signataires.

EXEMPLES

       Créer un message signé en texte clair :

        openssl smime -sign -in message.txt -text -out courrier.msg \
               -signer moncert.pem

       Créer un message signé opaque :

        openssl smime -sign -in message.txt -text -out courrier.msg -nodetach \
               -signer moncert.pem

       Créer  un  message  signé,  inclure quelques certificats supplémentaires et lire la clef privée depuis un
       autre fichier :

        openssl smime -sign -in entrée.txt -text -out courrier.msg \
               -signer moncert.pem -inkey maclef.pem -certfile mescert.pem

       Créer un message signé avec deux signataires :

        openssl smime -sign -in message.txt -text -out courrier.msg \
               -signer moncert.pem -signer autrecert.pem

       Envoyer un message signé sous UNIX directement à sendmail, y compris les en-têtes :

        openssl smime -sign -in entrée.txt -text -signer moncert.pem \
               -from steve@openssl.org -to quelquun@quelquepart \
               -subject "Message avec signature" | sendmail quelquun@quelquepart

       Vérifier un message et extraire le certificat du signataire en cas de réussite :

        openssl smime -verify -in courrier.msg -signer utilisateur.pem \
               -out textsigné.txt

       Envoyer un message chiffré en utilisant un DES triple :

        openssl smime -encrypt -in entrée.txt -from steve@openssl.org \
               -to quelquun@quelquepart -subject "Message avec chiffrement" \
               -des3 utilisateur.pem -out courrier.msg

       Signer et chiffrer un message :

        openssl smime -sign -in ml.txt -signer mon.pem -text \
               | openssl smime -encrypt -out courrier.msg \
               -from steve@openssl.org -to quelquun@quelquepart \
               -subject "Message avec signature et chiffrement" \
               -des3 utilisateur.pem

       Remarque : la commande de chiffrement n’inclut pas l’option -text  parce  que  le  message  en  cours  de
       chiffrement a déjà les en-têtes MIME.

       Déchiffrer un courrier :

        openssl smime -decrypt -in courrier.msg -recip moncert.pem \
               -inkey clef.pem

       La  sortie  du  type Netscape de signature est une structure PKCS#7 au format de signature détachée. Vous
       pouvez utiliser ce programme pour vérifier la signature en coupant les lignes de  structure  encodées  en
       base64 et en les encadrant avec :

        -----BEGIN PKCS7-----

        -----END PKCS7-----
       et en utilisant la commande :

        openssl smime -verify -inform PEM -in signature.pem -content contenu.txt

       Sinon, vous pouvez aussi décoder de base64 la signature et utiliser :

        openssl smime -verify -inform DER -in signature.der -content contenu.txt

       Créer et chiffrer un message en utilisant Camellia 128 bits :

        openssl smime -encrypt -in clair.txt -camellia128 \
               -out courrier.msg cert.pem

       Ajouter un signataire à un message existant :

        openssl smime -resign -in courrier.msg -signer nouvellesignature.pem \
               -out courrier2.msg

BOGUES

       L’analyseur  MIME  n’est pas très intelligent : il semble traiter la plupart des messages essayés jusqu’à
       présent mais pourrait avoir des problèmes avec d’autres.

       Le code ne peut actuellement écrire le certificat du signataire que vers un fichier : si le signataire  a
       un certificat de chiffrement séparé, vous devrez l’extraire vous-même. Il devrait y avoir une heuristique
       pour déterminer le certificat de chiffrement adéquat.

       Dans l’idéal, une base de données de certificats devrait être maintenue pour chaque adresse électronique.

       Le  code  ne  prend  actuellement pas en compte les algorithmes de chiffrement symétrique permis tels que
       fournis dans l’attribut signé SMIMECapabilities. Cela signifie que l’utilisateur  doit  inclure  lui-même
       l’algorithme  de chiffrement correct. Il devrait conserver la liste des algorithmes de chiffrement permis
       dans une base de données et n’utiliser que ceux-là.

       Aucune vérification de révocation n’est réalisée sur le certificat du signataire.

       Le code actuel ne peut traiter que les messages S/MIME  v2,  les  structures  S/MIME  v3  plus  complexes
       peuvent provoquer des erreurs d’analyse.

HISTORIQUE

       L’utilisation  de plusieurs options -signer et la commande -resign ont été ajoutées pour la première fois
       dans OpenSSL 1.0.0

       L’option -no_alt_chains a été ajoutée à OpenSSL 1.0.2b.

TRADUCTION

       La traduction de cette page de manuel est maintenue par les membres de la  liste  <debian-l10n-french  AT
       lists  DOT  debian  DOT org>. Veuillez signaler toute erreur de traduction par un rapport de bogue sur le
       paquet manpages-fr-extra.

1.0.2a 1.0.2c                                      2015-12-31                                        SMIME(1SSL)