Quiero silenciosamente, no interactivamente, crear un certificado SSL. Es decir, sin que se le solicite ningún dato.
La forma normal en que creo el certificado sería:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 \
-keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Intenté lo siguiente:
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
Pero todavía recibo una solicitud de datos.
openssl req -x509 -config openssl.cnf -nodes -days 7300 -signkey server.key -out /etc/ssl/private/pure-ftpd.pem
-signkey
. Esta no es unaopenssl req
opción válida en mi sistema. El mensaje de error tendrá esto como la primera línea:unknown option -signkey
2> /dev/null
.Respuestas:
Lo que falta es incluir el asunto del certificado en la
-subj
bandera. Prefiero esto a crear un archivo de configuración porque es más fácil de integrar en un flujo de trabajo y no requiere limpieza después.Clave de un paso y generación de RSE:
Generación de certificado sin contraseña autofirmado en un paso:
Ninguno de estos comandos solicitará ningún dato.
Vea mi respuesta a esta pregunta casi idéntica en Super User.
fuente
-subj
parámetro, particularmente cuando ingresa a extensiones v3 y parámetros subjectAltName.-batch
(modo no interactivo)-subj
es una CSR en línea válida básica.El comando que estás buscando es:
Cambios desde su versión:
-new
se requiere para generar cualquier cosa-key
utilizado en lugar de-signkey
fuente