Edit: Dies ist bei weitem meine beliebteste Antwort, und es ist jetzt ein paar Jahre her, also habe ich eine ECDSA-Variante hinzugefügt. Wenn Sie ECDSA verwenden können, sollten Sie dies tun.
Sie können alle diese Informationen in der Befehlszeile angeben.
Eine selbstsignierte, kennwortlose Zertifikatserzeugung in einem Schritt:
RSA-Version
openssl req \ -new \ -newkey rsa:4096 \ -days 365 \ -nodes \ -x509 \ -subj "/C=US/ST=Denial/L=Springfield/O=Dis/CN=www.example.com" \ -keyout www.example.com.key \ -out www.example.com.cert
ECDSA-Version
openssl req \ -new \ -newkey ec \ -pkeyopt ec_paramgen_curve:prime256v1 \ -days 365 \ -nodes \ -x509 \ -subj "/C=US/ST=Denial/L=Springfield/O=Dis/CN=www.example.com" \ -keyout www.example.com.key \ -out www.example.com.cert
Alle openssl-Unterbefehle haben eine eigene Manpage. Siehe man req
.
Spezifisch auf Ihre Fragen eingehen und genauer sagen, welche Optionen in Kraft sind:
Das
-nodes
Flag signalisiert, den Schlüssel nicht zu verschlüsseln, daher benötigen Sie kein Passwort. Sie können auch die-passout arg
Flagge verwenden. SiehePASS PHRASE ARGUMENTS
in deropenssl(1)
man - Seite, wie Sie die arg zu formatieren.Mit der
-subj
Markierung können Sie das Thema angeben (Beispiel oben).