Il s'agit de la commande rsautlssl qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
rsautl - utilitaire RSA
SYNOPSIS
openssl rsautl [-in filet] [-en dehors filet] [-clé filet] [-pubine] [-certine] [-signe] [-Vérifier]
[-Crypter] [-décrypter] [-pkcs] [-ssl] [-cru] [-vidage hexadécimal] [-asn1analyse]
DESCRIPTION
Le rsautl La commande peut être utilisée pour signer, vérifier, chiffrer et déchiffrer des données à l'aide du RSA
algorithme.
COMMAND OPTIONS
-in nom de fichier
Ceci spécifie le nom du fichier d'entrée à partir duquel lire les données ou l'entrée standard si cette option
n'est pas spécifié.
-en dehors nom de fichier
spécifie le nom du fichier de sortie sur lequel écrire ou la sortie standard par défaut.
-clé filet
le fichier de clé d'entrée, par défaut, il doit s'agir d'une clé privée RSA.
-pubine
le fichier d'entrée est une clé publique RSA.
-certine
l'entrée est un certificat contenant une clé publique RSA.
-signe
signer les données d'entrée et sortir le résultat signé. Cela nécessite une clé privée RSA.
-Vérifier
vérifier les données d'entrée et sortir les données récupérées.
-Crypter
chiffrer les données d'entrée à l'aide d'une clé publique RSA.
-décrypter
décrypter les données d'entrée à l'aide d'une clé privée RSA.
-pkcs, -oaep, -ssl, -cru
le rembourrage à utiliser : PKCS#1 v1.5 (par défaut), PKCS#1 OAEP, rembourrage spécial utilisé dans
Prises de contact SSL v2 rétrocompatibles, ou pas de remplissage, respectivement. Pour les signatures,
uniquement -pkcs et -cru peut être utilisé.
-vidage hexadécimal
hex dump les données de sortie.
-asn1analyse
asn1parse les données de sortie, ceci est utile lorsqu'il est combiné avec le -Vérifier option.
NOTES
rsautl car il utilise directement l'algorithme RSA ne peut être utilisé que pour signer ou vérifier de petits
morceaux de données.
EXEMPLES
Signez certaines données à l'aide d'une clé privée :
openssl rsautl -sign -in fichier -inkey key.pem -out sig
Récupérer les données signées
openssl rsautl -verify -in sig -inkey key.pem
Examinez les données signées brutes :
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 ................
0010 - 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 ................
0030 - 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 ................
0050 - 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 ................
0070 - ff ff ff ff 00 68 65 6c-6c 6f 20 77 6f 72 6c 64 .....bonjour tout le monde
Le formatage du bloc PKCS#1 en ressort clairement. Si cela a été fait en utilisant crypter et
décrypter le bloc aurait été de type 2 (le deuxième octet) et de données de remplissage aléatoires
visible au lieu des octets 0xff.
Il est possible d'analyser la signature des certificats à l'aide de cet utilitaire en conjonction
avec analyse asn1. Considérez l'exemple auto-signé dans certs/pca-cert.pem . Fonctionnement analyse asn1
comme suit donne :
openssl asn1parse -in pca-cert.pem
0:d=0 hl=4 l= 742 contre : SEQUENCE
4:d=1 hl=4 l= 591 contre : SEQUENCE
8:d=2 hl=2 l= 3 contre : cont [ 0 ]
10:d=3 hl=2 l= 1 prim : ENTIER :02
13:d=2 hl=2 l= 1 prim : ENTIER :00
16:d=2 hl=2 l= 13 contre : SEQUENCE
18:d=3 hl=2 l= 9 prim : OBJET :md5WithRSAEncryption
29:d=3 hl=2 l= 0 prim : NULL
31:d=2 hl=2 l= 92 contre : SEQUENCE
33:d=3 hl=2 l= 11 contre : SET
35:d=4 hl=2 l= 9 contre : SEQUENCE
37:d=5 hl=2 l= 3 prim: OBJET :countryName
42:d=5 hl=2 l= 2 prim : PRINTABLESTRING :AU
....
599:d=1 hl=2 l= 13 contre : SEQUENCE
601:d=2 hl=2 l= 9 prim : OBJET :md5WithRSAEncryption
612:d=2 hl=2 l= 0 prim : NULL
614:d=1 hl=3 l= 129 prim : CHAINE DE BIT
La chaîne de bits finale contient la signature réelle. Il peut être extrait avec :
openssl asn1parse -in pca-cert.pem -out sig -noout -strparse 614
La clé publique 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 contre : SEQUENCE
2:d=1 hl=2 l= 12 contre : SEQUENCE
4:d=2 hl=2 l= 8 prim: OBJET :md5
14:d=2 hl=2 l= 0 prim : NULL
16:d=1 hl=2 l= 16 prim : CHAINE D'OCTETS
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 analysée d'une structure ASN1 DigestInfo. On peut voir que le condensé
utilisé était md5. La partie réelle 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é calculé avec :
openssl md5 -c sct
MD5(tbs)= f3:46:9e:aa:1a:4a:73:c9:37:ea:93:00:48:25:08:b5
dont on peut voir qu'il concorde avec la valeur récupérée ci-dessus.
Utiliser rsautlssl en ligne à l'aide des services onworks.net