comandos de geração de certificados openssl [duplicado]

14

Esta questão já tem uma resposta aqui:

Eu estou fazendo um certificado auto-assinado usando o OpenSSL. Eu quero fazer o certificado de uma só vez, significa que ele não vai me pedir a entrada para o nome da empresa, nome comum, etc etc Existe alguma maneira de fazer isso como um interruptor, por exemplo? /noprompt ou qualquer outro através do qual eu possa inserir todos os meus campos de uma só vez. É possível que o seguinte comando tome todos os argumentos nesta chamada, o que é necessário depois de pressionar enter

openssl x509 -req -days 30 -in request.pem -signkey key.pem -out certificate.pem

fonte

Respostas:

25

Editar: Esta questão foi encerrada como uma duplicata de OpenSSL sem prompt . Veja minha resposta aceita também. Esta resposta foi agora atualizada com uma variante ECDSA. Se você puder usar o ECDSA, você deve.

Você precisa especificar o assunto como parte do seu comando.

Esse comando é uma criação de certificado autoassinado, não interativa e 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 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
bahamat
fonte
2
Brilhante. Eu não sabia sobre o componente não interativo e é exatamente o que preciso provisionar uma VM do Vagrant.
Rob Wilkerson
Idem, quero certificados automatizados para o Vagrant.
Richard Clayton
0

Você pode preencher um arquivo previamente para automatizar o processo de criação de certificados, na seção denominada:

"Arquivo de configuração de amostra solicitando valores de campo"

Ligação: http://www.openssl.org/docs/apps/req.html#EXAMPLES

Shadok
fonte
Mesmo com esse arquivo, o usuário ainda tem que bater o retorno para confirmar cada valor automatizado
Gearoid Murphy