Loading

NOM

       rsautl - Utilitaire pour RSA

SYNOPSIS

       openssl rsautl [-in fichier] [-out fichier] [-inkey fichier] [-pubin]
       [-certin] [-sign] [-verify] [-encrypt] [-decrypt] [-pkcs] [-ssl] [-raw]
       [-hexdump] [-asn1parse]

       La commande rsautl peut être utilisée pour signer, vérifier, chiffrer
       et déchiffrer des données en utilisant l’algorithme RSA.

OPTIONS DE LA COMMANDE

       -in nom_fichier
           Ceci spécifie le nom de fichier d’entrée où lire les données. Par
           défaut, si cette option n’est pas fournie, les données sont lues
           depuis l’entrée standard.

       -out nom_fichier
           Le nom du fichier de sortie. Par défaut, la sortie standard est
           utilisée.

       -inkey fichier
           le fichier avec la clé d’entrée. Par défaut, ce doit être une clé
           privée RSA.

       -pubin
           le fichier d’entrée est une clé publique RSA.

       -certin
           le fichier d’entrée est un certificat contenant la clé publique
           RSA.

       -sign
           signer les données d’entrée et fournir le résultat chiffré. Ceci
           nécessite une clé privée RSA.

       -verify
           vérifier les donnée d’entrée et fournir les données convertie.

       -encrypt
           chiffrer les données d’entrée en utilisant la clé publique RSA.

       -decrypt
           déchiffrer les données d’entrée en utilisant la clé privée.

       -pkcs, -oaep, -ssl, -raw
           le type de remplissage («padding») à utiliser: respectivement
           PKCS#1 v1.5 (par défaut), PKCS#1 OAEP, remplissage particulier
           utilisé pour la compatibilité arrière avec les poignées de mains
           SSLv2, ou pas de remplissage. Pour les signatures, seules les
           options -pkcs et -raw peuvent être utilisées.

       -hexdump
           affichage hexadécimal des données de sortie.

       -asn1parse
           analyser les données de sortie avec asn1parse. C’est utile
           lorsqu’elle est associée à l’option -verify.

NOTES

       Parce qu’elle utilise l’algorithme RSA directement, la commande rsautl
       ne peut être utilisée que pour signer ou vérifier des données de petite
       taille.

EXEMPLES

       Signer des données en utilisant une clé privée:

        openssl rsautl -sign -in file -inkey key.pem -out sig

       Récupérer les données signées:

        openssl rsautl -verify -in sig -inkey key.pem

       Examiner les données brutes signée:

        openssl rsautl -verify -in file -inkey key.pem -raw -hexdump

        0000 - 00 01 ff ff ff ff ff ff-ff ff ff ff ff ff ff ff   ................
        0010 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff   ................
        0020 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff   ................
        0030 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff   ................
        0040 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff   ................
        0050 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff   ................
        0060 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff   ................
        0070 - ff ff ff ff 00 68 65 6c-6c 6f 20 77 6f 72 6c 64   .....hello world

       Le format du bloc PKCS#1 est évident ici. S’il avait été créé avec
       encrypt/decrypt, le bloc aurrait été de type 2 (le deuxième octet) et
       des données de remplissage aléatoires auraient été utilisées à la place
       des octets 0xff.

       Il est possible d’analyser la signature de certificats en utilisant cet
       utilitaire avec asn1parse. Par exemple avec un certificat auto-signé
       certs/pca-cert.pem, exécuter asn1parse produit:

        openssl asn1parse -in pca-cert.pem

           0:d=0  hl=4 l= 742 cons: SEQUENCE
           4:d=1  hl=4 l= 591 cons:  SEQUENCE
           8:d=2  hl=2 l=   3 cons:   cont [ 0 ]
          10:d=3  hl=2 l=   1 prim:    INTEGER           :02
          13:d=2  hl=2 l=   1 prim:   INTEGER           :00
          16:d=2  hl=2 l=  13 cons:   SEQUENCE
          18:d=3  hl=2 l=   9 prim:    OBJECT            :md5WithRSAEncryption
          29:d=3  hl=2 l=   0 prim:    NULL
          31:d=2  hl=2 l=  92 cons:   SEQUENCE
          33:d=3  hl=2 l=  11 cons:    SET
          35:d=4  hl=2 l=   9 cons:     SEQUENCE
          37:d=5  hl=2 l=   3 prim:      OBJECT            :countryName
          42:d=5  hl=2 l=   2 prim:      PRINTABLESTRING   :AU
         ....
         599:d=1  hl=2 l=  13 cons:  SEQUENCE
         601:d=2  hl=2 l=   9 prim:   OBJECT            :md5WithRSAEncryption
         612:d=2  hl=2 l=   0 prim:   NULL
         614:d=1  hl=3 l= 129 prim:  BIT STRING

       Le «BIT STRING» final contient la signature. Elle peut être extraite de
       cette façon:

        openssl asn1parse -in pca-cert.pem -out sig -noout -strparse 614

       La clé public du certificat peut être extraite avec:

        openssl x509 -in test/testx509.pem -pubkey -noout >pubkey.pem

       La signature peut être analysée avec:

        openssl rsautl -in sig -verify -asn1parse -inkey pubkey.pem -pubin

           0:d=0  hl=2 l=  32 cons: SEQUENCE
           2:d=1  hl=2 l=  12 cons:  SEQUENCE
           4:d=2  hl=2 l=   8 prim:   OBJECT            :md5
          14:d=2  hl=2 l=   0 prim:   NULL
          16:d=1  hl=2 l=  16 prim:  OCTET STRING
             0000 - f3 46 9e aa 1a 4a 73 c9-37 ea 93 00 48 25 08 b5   .F...Js.7...H%..

       Il s’agit de la version lisible de la structure ASN1 DigestInfo. On
       peut voir que l’algorithme de hachage utilisé était md5. La partie du
       certificat qui a été signée peut être extraite avec:

        openssl asn1parse -in pca-cert.pem -out tbs -noout -strparse 4

       Et son condensé peut être calculé avec:

        openssl md5 -c tbs
        MD5(tbs)= f3:46:9e:aa:1a:4a:73:c9:37:ea:93:00:48:25:08:b5

       qui, on peut le voir, est cohérent avec la valeur récupérée ci-dessus.

VOIR AUSSI

       dgst(1), rsa(1), genrsa(1)

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.