PKEYUTL(1SSL)

NOM
pkeyutl - Utilitaire d’algorithme à clef publique

SYNOPSIS
openssl pkeyutl [-in fichier] [-out fichier] [-sigfile fichier] [-inkey fichier] [-keyform PEM|DER] [-passin param] [-peerkey fichier] [-peerform PEM|DER] [-pubin] [-certin] [-rev] [-sign] [-verify] [-verifyrecover] [-encrypt] [-decrypt] [-derive] [-pkeyopt opt:valeur] [-hexdump] [-asn1parse] [-engine identifiant]

DESCRIPTION
La commande pkeyutl peut être utilisée pour réaliser des opérations de clef publique en utilisant n’importe quel algorithme pris en charge.

OPTIONS DE LA COMMANDE

-in fichier
    Cela indique 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 fichier
    Le nom du fichier de sortie. Par défaut, la sortie standard est utilisée.

-inkey fichier
    Le fichier avec la clef d'entrée. Par défaut, ce devrait être une clef privée.

-keyform PEM|DER
    Le format de clef PEM, DER ou ENGINE.

-passin param
    La source de mot de passe d'entrée. Pour plus de renseignements sur le format de param, consultez la section PARAMÈTRES DE PHRASE SECRÈTE d'openssl(1).

-peerkey fichier
    La clef de pair, utilisée par les opérations de dérivation (échange) de clef.

-peerform PEM|DER
    Le format de clef de pair PEM, DER ou ENGINE.

-engine identifiant
    L’indication d’un moteur (en utilisant son identifiant unique identifiant) forcera pkeyutl à essayer d'obtenir une référence fonctionnelle pour le moteur indiqué et à l'initialiser si nécessaire. Le moteur sera ensuite utilisé par défaut pour tous les algorithmes disponibles.

-pubin
    Le fichier d'entrée est une clef publique.

-certin
    Le fichier d'entrée est un certificat contenant une clef publique.

-rev
    Inverser l’ordre du tampon d’entrée. C’est utile pour certaines bibliothèques (comme CryptAPI) qui représentent le tampon au format petit-boutiste.

-sign
    Signer les données d'entrée et fournir le résultat chiffré. Cela nécessite une clef privée.

-verify
    Vérifier les données d’entrée par rapport au fichier de signature et indiquer si la vérification a réussi ou échoué.

-verifyrecover
    Vérifier les données d'entrée et fournir les données récupérées.

-encrypt
    Chiffrer les données d'entrée en utilisant une clef publique.

-decrypt
    Déchiffrer les données d'entrée en utilisant une clef privée.

-derive
    Dériver un secret partagé en utilisant la clef de pair.

-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 -verifyrecover quand une structure ASN1 est signée.

NOTES
Les opérations et options prises en charge varient en fonction de l’algorithme et de son implémentation. Les opérations et options d’OpenSSL sont indiquées ci-dessous.

Sauf mention contraire, tous les algorithmes prennent en charge l’option digest:alg qui indique l’algorithme à utiliser pour les opérations de signature, vérification et verifyrecover. La valeur alg devrait représenter un nom d’algorithme tel qu’utilisé dans la fonction EVP_get_digestbyname(), par exemple sha1.

ALGORITHME RSA
L’algorithme RSA prend en charge généralement les opérations de chiffrement, déchiffrement, signature, vérification et verifyrecover. Certains modes de remplissage ne prennent cependant en charge qu’une partie de ces opérations.

rsa_padding_mode:mode
    Cela définit le mode de remplissage RSA. Les valeurs possibles de mode sont pkcs1 pour un remplissage PKCS#1, sslv23 pour un remplissage SSLv23, none pour une absence de remplissage, oaep pour le mode OAEP, x931 pour le mode X9.31 et pss pour PSS.

    En remplissage PKCS#1, si l’algorithme de signature de message n’est pas défini, alors les données fournies sont signées ou vérifiées directement au lieu d’utiliser une structure DigestInfo. Si un algorithme de signature est défini, alors une structure DigestInfo est utilisée et sa taille doit correspondre au type d’algorithme de signature.

    Pour le mode oeap, seul le chiffrement et le déchiffrement sont pris en charge.

    Pour x931, si le type d’algorithme de signature est défini, il est utilisé pour formater les données de bloc, sinon le premier octet est utilisé pour indiquer l’identifiant d’algorithme de signature X9.31. Signature, vérification et verifyrecover peuvent être réalisées dans ce mode.

    Pour le mode oeap, seules la signature et la vérification sont prises en charge et le type d’algorithme de signature doit être indiqué.

rsa_pss_saltlen:len
    Pour le mode pss, seule cette option indique la taille de sel. Deux valeurs spéciales sont prises en charge : -1 définit la taille de sel à la taille de l’algorithme de signature. Lors de la vérification, -2 définit la taille de sel à la valeur maximale permise. Lors de la vérification, -2 force la taille de sel à être automatiquement déterminée à partir de la structure de bloc PSS.

ALGORITHME DSA
L’algorithme DSA ne permet que les opérations de signature et de vérification. La seule option supplémentaire actuellement est digest. Seul l’algorithme de signature SHA1 peut être utilisé et cet algorithme de signature est considéré par défaut.

ALGORITHME DH
L’algorithme DH ne permet que l’opération de dérivation et aucune option supplémentaire.

ALGORITHME EC
L’algorithme EC prend en charge les opérations de signature, vérification et dérivation. Les opérations de signature et vérification utilisent ECDSA et la dérivation utilise ECDH. Il n’y a actuellement aucune option supplémentaire à part digest. Seul l’algorithme de signature SHA1 peut être utilisé et cet algorithme de signature est considéré par défaut.

EXEMPLES
Signer des données en utilisant une clef privée :

 openssl pkeyutl -sign -in fichier -inkey clef.pem -out sig

Récupérer les données signées (par exemple si une clef RSA est utilisée) :

 openssl pkeyutl -verifyrecover -in sig -inkey clef.pem

Vérifier la signature (par exemple d'une clef DSA) :

 openssl pkeyutl -verify -in fichier -sigfile sig -inkey clef.pem

Signer des données en utilisant une valeur d’algorithme de signature de message (ce n’est actuellement possible qu’avec RSA) :

 openssl pkeyutl -sign -in fichier -inkey clef.pem -out sig
                                -pkeyopt digest:sha256

Dériver une valeur de secret partagé :

 openssl pkeyutl -derive -inkey clef.pem -peerkey clefpub.pem -out secret

VOIR AUSSI
genpkey(1), pkey(1), rsautl(1) 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.