Chcę cicho, nie interaktywnie, utworzyć certyfikat SSL. To znaczy, bez monitowania o jakiekolwiek dane.
Normalnym sposobem, w jaki tworzę certyfikat, jest:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 \
-keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Próbowałem następujące:
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
Ale nadal pojawia się monit o dane.
openssl req -x509 -config openssl.cnf -nodes -days 7300 -signkey server.key -out /etc/ssl/private/pure-ftpd.pem
-signkey
. To nie jest poprawnaopenssl req
opcja w moim systemie. Komunikat o błędzie będzie miał to jako pierwszy wiersz:unknown option -signkey
2> /dev/null
.Odpowiedzi:
Brakuje tylko włączenia podmiotu certyfikatu do
-subj
flagi. Wolę to od utworzenia pliku konfiguracyjnego, ponieważ łatwiej jest zintegrować go z przepływem pracy i nie wymaga późniejszego czyszczenia.Klucz One Step i generowanie csr:
Generowanie certyfikatu bez hasła w jednym kroku:
Żadne z tych poleceń nie monituje o żadne dane.
Zobacz moją odpowiedź na to prawie identyczne pytanie na Super User.
źródło
-subj
parametru, szczególnie gdy wchodzisz w rozszerzenia v3 i parametry subjectAltName.-batch
(tryb nieinteraktywny)-subj
jest to podstawowy prawidłowy wbudowany CSR.Polecenie, którego szukasz, to:
Zmiany w twojej wersji:
-new
jest wymagany do wygenerowania czegokolwiek-key
używane zamiast-signkey
źródło