Editar: Essa é de longe a minha resposta mais popular, e já faz alguns anos, então adicionei uma variante ECDSA. Se você puder usar o ECDSA, você deve.
Você pode fornecer todas essas informações na linha de comando.
Geração de certificado sem senha autoassinado de uma etapa:
Versão RSA
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
Versão do ECDSA
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
Todos os subcomandos openssl têm sua própria página man. Veja man req
.
Responda especificamente às suas perguntas e seja mais explícito sobre exatamente quais opções estão em vigor:
-
A
-nodes
sinaliza para não criptografar a chave, portanto, você não precisa de uma senha. Você também pode usar o sinalizador-passout arg
. VejaPASS PHRASE ARGUMENTS
na páginaopenssl(1)
man para saber como formatar o argumento. -
Usando o sinalizador
-subj
, você pode especificar o assunto (o exemplo está acima).