Skip to content
100% local

OpenSSL command builder

Assemble a ready-to-paste openssl command line without running anything.

Output

OpenSSL command builder

OpenSSL's command-line syntax is powerful but easy to get wrong — one missing flag and a self-signed certificate has no Subject Alternative Name, or a private key ends up unencrypted on disk. This tool builds the exact command for you: pick a task, fill in a few fields, and copy a command line you run yourself in your own terminal. Nothing is executed here and no key material is ever generated in your browser — the tool only writes text.

Choose a task first: a self-signed certificate, a certificate signing request (CSR) for a CA to sign, a standalone private key, converting a certificate between PEM and DER or bundling it into a PKCS#12 archive, inspecting an existing certificate's fields, checking that a key and certificate actually match, verifying a certificate chain against a CA bundle, or opening a test TLS connection with s_client. Each task shows the openssl subcommand and flags that apply to it — RSA key size or EC curve, subject fields (CN, O, C), Subject Alternative Names, validity in days, and whether to protect the private key with a passphrase. File names for the key, certificate, CSR and any converted output are all editable, so the command matches the files you actually want on disk.

Below the command, the tool prints a plain-language explanation of every flag it used, so you know what -newkey, -addext or -CAfile actually does before you run it — useful whether you're learning openssl or just want to double-check a command before it touches production certificates. Subject fields and file names are sanitized so a stray character can't break the generated command's quoting.

Everything runs locally in your browser: the fields you type, including any passphrase, are never sent anywhere and exist only on your screen. Copy the command, download it as a .txt file for later, or send it straight into another tool's input.

FAQ

Does this tool generate real certificates or keys?
No. It only writes the openssl command as text — you copy it and run it yourself. No cryptographic material is created here.
Which openssl version do these commands need?
Modern flags like -addext and EC key generation via -newkey ec need OpenSSL 1.1.1 or later, which ships by default on current Linux, macOS and Windows installs.
Why does the passphrase appear inside the command as plain text?
Putting a passphrase on the command line is convenient but lands in your shell history. For anything beyond quick local testing, leave passphrase encryption off here and let openssl prompt you interactively instead.
What is a Subject Alternative Name and why do I need one?
It lists every hostname or IP address the certificate is valid for. Browsers ignore the old Common Name field for this purpose, so a certificate without a matching SAN entry shows as invalid even if the CN looks right.
Is anything I type uploaded anywhere?
No. The command is assembled entirely in your browser — hostnames, subject fields and passphrases never leave your device.