.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.29) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "RSAUTL 1SSL" .TH RSAUTL 1SSL "2015-12-31" "1.0.2a 1.0.2c" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NOM" .IX Header "NOM" rsautl \- Utilitaire pour \s-1RSA\s0 .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBopenssl\fR \fBrsautl\fR [\fB\-in fichier\fR] [\fB\-out fichier\fR] [\fB\-inkey fichier\fR] [\fB\-pubin\fR] [\fB\-certin\fR] [\fB\-sign\fR] [\fB\-verify\fR] [\fB\-encrypt\fR] [\fB\-decrypt\fR] [\fB\-pkcs\fR] [\fB\-ssl\fR] [\fB\-raw\fR] [\fB\-hexdump\fR] [\fB\-asn1parse\fR] .SH "DESCRIPTION" .IX Header "DESCRIPTION" La commande \fBrsautl\fR peut être utilisée pour signer, vérifier, chiffrer et déchiffrer des données en utilisant l'algorithme \s-1RSA.\s0 .SH "OPTIONS DE LA COMMANDE" .IX Header "OPTIONS DE LA COMMANDE" .IP "\fB\-in\fR \fInom_fichier\fR" 4 .IX Item "-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. .IP "\fB\-out\fR \fInom_fichier\fR" 4 .IX Item "-out nom_fichier" Le nom du fichier de sortie. Par défaut, la sortie standard est utilisée. .IP "\fB\-inkey fichier\fR" 4 .IX Item "-inkey fichier" le fichier avec la clé d'entrée. Par défaut, ce doit être une clé privée \&\s-1RSA.\s0 .IP "\fB\-pubin\fR" 4 .IX Item "-pubin" le fichier d'entrée est une clé publique \s-1RSA.\s0 .IP "\fB\-certin\fR" 4 .IX Item "-certin" le fichier d'entrée est un certificat contenant la clé publique \s-1RSA.\s0 .IP "\fB\-sign\fR" 4 .IX Item "-sign" signer les données d'entrée et fournir le résultat chiffré. Ceci nécessite une clé privée \s-1RSA.\s0 .IP "\fB\-verify\fR" 4 .IX Item "-verify" vérifier les donnée d'entrée et fournir les données convertie. .IP "\fB\-encrypt\fR" 4 .IX Item "-encrypt" chiffrer les données d'entrée en utilisant la clé publique \s-1RSA.\s0 .IP "\fB\-decrypt\fR" 4 .IX Item "-decrypt" déchiffrer les données d'entrée en utilisant la clé privée. .IP "\fB\-pkcs, \-oaep, \-ssl, \-raw\fR" 4 .IX Item "-pkcs, -oaep, -ssl, -raw" le type de remplissage (« padding ») à utiliser : respectivement PKCS#1 v1.5 (par défaut), PKCS#1 \s-1OAEP,\s0 remplissage particulier utilisé pour la compatibilité arrière avec les poignées de mains \s-1SSL\s0 v2, ou pas de remplissage. Pour les signatures, seules les options \fB\-pkcs\fR et \fB\-raw\fR peuvent être utilisées. .IP "\fB\-hexdump\fR" 4 .IX Item "-hexdump" affichage hexadécimal des données de sortie. .IP "\fB\-asn1parse\fR" 4 .IX Item "-asn1parse" analyser les données de sortie avec asn1parse. C'est utile lorsqu'elle est associée à l'option \fB\-verify\fR. .SH "NOTES" .IX Header "NOTES" Parce qu'elle utilise l'algorithme \s-1RSA\s0 directement, la commande \fBrsautl\fR ne peut être utilisée que pour signer ou vérifier des données de petite taille. .SH "EXEMPLES" .IX Header "EXEMPLES" Signer des données en utilisant une clé privée : .PP .Vb 1 \& openssl rsautl \-sign \-in file \-inkey key.pem \-out sig .Ve .PP Récupérer les données signées : .PP .Vb 1 \& openssl rsautl \-verify \-in sig \-inkey key.pem .Ve .PP Examiner les données brutes signée : .PP .Vb 1 \& 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 .Ve .PP 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. .PP Il est possible d'analyser la signature de certificats en utilisant cet utilitaire avec \fBasn1parse\fR. Par exemple avec un certificat auto\-signé certs/pca\-cert.pem, exécuter \fBasn1parse\fR produit : .PP .Vb 1 \& 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 .Ve .PP Le « \s-1BIT STRING\s0 » final contient la signature. Elle peut être extraite de cette façon : .PP .Vb 1 \& openssl asn1parse \-in pca\-cert.pem \-out sig \-noout \-strparse 614 .Ve .PP La clé public du certificat peut être extraite avec : .PP .Vb 1 \& openssl x509 \-in test/testx509.pem \-pubkey \-noout >pubkey.pem .Ve .PP La signature peut être analysée avec : .PP .Vb 1 \& 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%.. .Ve .PP Il s'agit de la version lisible de la structure \s-1ASN1\s0 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 : .PP .Vb 1 \& openssl asn1parse \-in pca\-cert.pem \-out tbs \-noout \-strparse 4 .Ve .PP Et son condensé peut être calculé avec : .PP .Vb 2 \& openssl md5 \-c tbs \& MD5(tbs)= f3:46:9e:aa:1a:4a:73:c9:37:ea:93:00:48:25:08:b5 .Ve .PP qui, on peut le voir, est cohérent avec la valeur récupérée ci-dessus. .SH "VOIR AUSSI" .IX Header "VOIR AUSSI" \&\fIdgst\fR\|(1), \fIrsa\fR\|(1), \fIgenrsa\fR\|(1) .SH "TRADUCTION" .IX Header "TRADUCTION" La traduction de cette page de manuel est maintenue par les membres de la liste . Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages-fr-extra.