Je souhaite créer silencieusement, de manière non interactive, un certificat SSL. C'est-à-dire, sans être invité à fournir des données.
La façon normale de créer le certificat serait:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 \
-keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
J'ai essayé ce qui suit:
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
Mais je reçois toujours une invite de données.
openssl req -x509 -config openssl.cnf -nodes -days 7300 -signkey server.key -out /etc/ssl/private/pure-ftpd.pem
-signkey
. Ce n'est pas uneopenssl req
option valide sur mon système. Le message d'erreur aura ceci comme toute première ligne:unknown option -signkey
2> /dev/null
.Réponses:
La chose qui vous manque est d'inclure le sujet du certificat dans le
-subj
drapeau. Je préfère cela à la création d'un fichier de configuration car il est plus facile à intégrer dans un flux de travail et ne nécessite pas de nettoyage par la suite.Génération de clés et de CSR en une seule étape:
Génération de certificat sans mot de passe auto-signée en une étape:
Aucune de ces commandes ne demandera de données.
Voir ma réponse à cette question presque identique sur Super User.
la source
-subj
paramètre, en particulier lorsque vous accédez aux extensions v3 et aux paramètres subjectAltName.-batch
(mode non interactif)-subj
s'agit d'un CSR en ligne valide de base.La commande que vous recherchez est:
Changements par rapport à votre version:
-new
est nécessaire pour générer quoi que ce soit-key
utilisé à la place de-signkey
la source