Aller au contenu
ecdsa.com

OpenSSL Command Builder — générateur de commandes OpenSSL

Choisissez une tâche, remplissez les champs, copiez une commande qui fonctionne, et obtenez l’explication de chacune de ses options. Ou collez une commande trouvée ailleurs pour la faire décortiquer.

100 % local : le catalogue est un ensemble de données statiques et l’analyseur s’exécute dans votre navigateur ; rien de ce que vous saisissez n’est envoyé nulle part

Clés

Générer une clé privée EC

La forme moderne, en une seule commande. Elle écrit une clé privée PKCS#8 que Node.js, Go, Python, Java et WebCrypto chargent tous sans conversion.

Paramètres

Commande
openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-256 -out key.pem

Rôle de chaque option

openssl genpkey
Le générateur de clés d’OpenSSL 3.x. Une seule commande couvre tous les algorithmes, et elle écrit toujours le conteneur PKCS#8 : `-----BEGIN PRIVATE KEY-----`.
-algorithm EC
Génère une clé sur courbe elliptique. La courbe elle-même est fournie par -pkeyopt.
-pkeyopt ec_paramgen_curve:P-256
Option propre à l’algorithme : génère la clé sur la courbe P-256. Sans elle, openssl n’a aucune courbe à utiliser et refuse de continuer.
-out key.pem
Où écrire la clé. Sans cette option, la clé s’affiche dans votre terminal : pratique pour y jeter un œil, désastreux pour tout le reste.

Remarques

  • Le fichier de clé privée contient déjà la clé publique. Vous n’avez jamais besoin d’enregistrer la partie publique séparément, sauf si quelqu’un d’autre doit la lire.
  • P-256, prime256v1 et secp256r1 sont trois noms d’une même courbe. secp256k1 est une courbe réellement différente, pas un quatrième alias : choisissez-la uniquement si vous travaillez avec Bitcoin ou Ethereum.
  • L’ancienne commande `openssl ecparam -name prime256v1 -genkey -noout -out key.pem` fonctionne toujours et produit le même matériel de clé, mais dans le conteneur SEC1 (`BEGIN EC PRIVATE KEY`). WebCrypto et plusieurs chemins de chargement de la JVM n’acceptent que PKCS#8.
  • Rien ici ne modifie les permissions du fichier. Sur une machine partagée, exécutez ensuite `chmod 600` sur la clé.
Différences entre versions. `genpkey` et les noms de courbes NIST fonctionnent de la même façon sous 1.1.1 et 3.x. Les courbes disponibles dépendent de la façon dont le binaire a été compilé : `openssl ecparam -list_curves` donne la réponse pour votre installation.

Recette pas à pas : la même tâche sous forme de guide testé, avec la sortie de chaque commande expliquée.

Tâches associées

Chaque commande du catalogue a été générée avec ses paramètres par défaut et exécutée avec OpenSSL 3.6.3 (9 Jun 2026), darwin64-arm64 avant publication. Les options changent bel et bien d’une version à l’autre : lorsque 1.1.1 et 3.x diffèrent, la tâche le signale.

How it works

openssl is not one program but roughly thirty, each with its own option set, and the manual page is organised around those programs rather than around what anyone is trying to do. The result is that “make a self-signed certificate with a SAN” lives under req, which is documented as the certificate request command, and that the flag which actually decides whether browsers accept your certificate — -addext — appears nowhere near the top. This page inverts that: 36 tasks phrased as goals, each producing a command whose every flag is spelled out underneath.

The explanations are the point. A command you copied and cannot read is a command you cannot adapt, and openssl’s flags are unusually easy to misread — -noout suppresses the object rather than all output, -nocrypt is the difference between a script that runs and one that hangs at a prompt, and -copy_extensions is why a certificate you issued yourself has no hostnames in it. Each task also lists the specific ways it goes wrong, because those are what actually costs the afternoon.

Values you type are quoted for a POSIX shell before they go into the command, so a path with spaces or a subject with a comma survives the copy-paste. If a value contains something a shell would normally act on — backticks, $( ), a semicolon — the builder says so, because the quoting means it will be passed through literally rather than executed, and that is occasionally the surprise rather than the reassurance. Windows users should note that cmd.exe and PowerShell quote differently; the commands here assume sh, bash or zsh.

The reverse mode splits a pasted command the way a shell would — respecting quotes, escapes, pipes and redirections — and looks each flag up in a dictionary covering 180 options across 24 subcommands. Nothing is executed, and a flag that is not in the dictionary is labelled unknown rather than given an invented meaning. For the authoritative list your build accepts, openssl <subcommand> -help is always right and always local.