Provided by: manpages-fr-extra_20080921_all bug

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]

DESCRIPTION

       La commande rsautl peut A~Xtre utilisA~Xe pour signer, vA~Xrifier,
       chiffrer et dA~Xchiffrer des donnA~Xes en utilisant l’algorithme RSA.

OPTIONS DE LA COMMANDE

       -in nom_fichier
           Ceci spA~Xcifie le nom de fichier d’entrA~Xe oA~X lire les
           donnA~Xes. Par dA~Xfaut, si cette option n’est pas fournie, les
           donnA~Xes sont lues depuis l’entrA~Xe standard.

       -out nom_fichier
           Le nom du fichier de sortie. Par dA~Xfaut, la sortie standard est
           utilisA~Xe.

       -inkey fichier
           le fichier avec la clA~X d’entrA~Xe. Par dA~Xfaut, ce doit A~Xtre
           une clA~X privA~Xe RSA.

       -pubin
           le fichier d’entrA~Xe est une clA~X publique RSA.

       -certin
           le fichier d’entrA~Xe est un certificat contenant la clA~X publique
           RSA.

       -sign
           signer les donnA~Xes d’entrA~Xe et fournir le rA~Xsultat chiffrA~X.
           Ceci nA~Xcessite une clA~X privA~Xe RSA.

       -verify
           vA~Xrifier les donnA~Xe d’entrA~Xe et fournir les donnA~Xes
           convertie.

       -encrypt
           chiffrer les donnA~Xes d’entrA~Xe en utilisant la clA~X publique
           RSA.

       -decrypt
           dA~Xchiffrer les donnA~Xes d’entrA~Xe en utilisant la clA~X
           privA~Xe.

       -pkcs, -oaep, -ssl, -raw
           le type de remplissage (AX padding AX) A~  utiliser :
           respectivement PKCS#1 v1.5 (par dA~Xfaut), PKCS#1 OAEP, remplissage
           particulier utilisA~X pour la compatibilitA~X arriA~Xre avec les
           poignA~Xes de mains SSL v2, ou pas de remplissage. Pour les
           signatures, seules les options -pkcs et -raw peuvent A~Xtre
           utilisA~Xes.

       -hexdump
           affichage hexadA~Xcimal des donnA~Xes de sortie.

       -asn1parse
           analyser les donnA~Xes de sortie avec asn1parse. C’est utile
           lorsqu’elle est associA~Xe A~  l’option -verify.

NOTES

       Parce qu’elle utilise l’algorithme RSA directement, la commande rsautl
       ne peut A~Xtre utilisA~Xe que pour signer ou vA~Xrifier des donnA~Xes
       de petite taille.

EXEMPLES

       Signer des donnA~Xes en utilisant une clA~X privA~Xe :

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

       RA~XcupA~Xrer les donnA~Xes signA~Xes :

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

       Examiner les donnA~Xes brutes signA~Xe :

        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 A~Xvident ici. S’il avait A~XtA~X crA~XA~X
       avec encrypt/decrypt, le bloc aurrait A~XtA~X de type 2 (le deuxiA~Xme
       octet) et des donnA~Xes de remplissage alA~Xatoires auraient A~XtA~X
       utilisA~Xes A~  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-signA~X
       certs/pca-cert.pem, exA~Xcuter 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 AX BIT STRING AX final contient la signature. Elle peut A~Xtre
       extraite de cette faA~Xon :

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

       La clA~X public du certificat peut A~Xtre extraite avec :

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

       La signature peut A~Xtre analysA~Xe 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 utilisA~X A~Xtait md5. La partie
       du certificat qui a A~XtA~X signA~Xe peut A~Xtre extraite avec :

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

       Et son condensA~X peut A~Xtre calculA~X 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 cohA~Xrent avec la valeur rA~XcupA~XrA~Xe ci-
       dessus.

VOIR AUSSI

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