Ich möchte stillschweigend, nicht interaktiv, ein SSL-Zertifikat erstellen. Dh, ohne zur Eingabe von Daten aufgefordert zu werden.
Die normale Art und Weise, wie ich das Zertifikat erstelle, wäre:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 \
-keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Ich habe folgendes versucht:
openssl genrsa -out server.key 2048
touch openssl.cnf
cat >> openssl.cnf <<EOF
[ req ]
prompt = no
distinguished_name = req_distinguished_name
[ req_distinguished_name ]
C = GB
ST = Test State
L = Test Locality
O = Org Name
OU = Org Unit Name
CN = Common Name
emailAddress = test@email.com
EOF
openssl req -x509 -config openssl.cnf -nodes -days 7300 \
-signkey server.key -out /etc/ssl/private/pure-ftpd.pem
Aber ich bekomme immer noch eine Eingabeaufforderung für Daten.
openssl req -x509 -config openssl.cnf -nodes -days 7300 -signkey server.key -out /etc/ssl/private/pure-ftpd.pem
-signkey
. Dies istopenssl req
auf meinem System keine gültige Option. Die Fehlermeldung wird dies als die allererste Zeile haben:unknown option -signkey
2> /dev/null
.Antworten:
Was Sie vermissen, ist, den Betreff des Zertifikats in das
-subj
Flag aufzunehmen. Ich bevorzuge es, eine Konfigurationsdatei zu erstellen, da diese einfacher in einen Workflow zu integrieren ist und keine anschließende Bereinigung erforderlich ist.One-Step-Key und CSR-Generierung:
Selbstsignierte, kennwortlose Zertifikatserstellung in einem Schritt:
Keiner dieser Befehle fordert zur Eingabe von Daten auf.
Siehe meine Antwort auf diese fast identische Frage zu Super User.
quelle
-subj
Parameter dargestellt werden können, insbesondere, wenn Sie sich mit Erweiterungen der Version 3 und den Parametern von subjectAltName befassen.-batch
(nicht interaktiver Modus)-subj
eine grundlegende gültige Inline-CSR ist.Der gesuchte Befehl lautet:
Änderungen gegenüber Ihrer Version:
-new
ist erforderlich, um etwas zu generieren-key
verwendet anstelle von-signkey
quelle