Provided by: manpages-fr-extra_20140201_all bug

NOM

       smime - Utilitaire S/MIME

SYNOPSIS

       openssl smime [-encrypt] [-decrypt] [-sign] [-resign] [-verify] [-pk7out] [-chiffrement]
       [-in fichier] [-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, RC2 40 bits 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
           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 DER 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

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.