Gerar certificados é uma tarefa que eventualmente se faz necessária.
Pensando em facilitar esse processo (que eu particularmente acho meio chato e que nunca lembro exatamente de todos seus passos), resolvi criar um script para isso.
Para que o mesmo funcione é necessário que você tenha o certificado da CA (autoridade certificadora) que irá efetuar a assinatura e a senha deste.
Segue:
#!/bin/bash
# geraCert.sh
# Parametros
# $1 = nome do certificado a ser gerado
# $2 = nome do certificado da CA
if [ "$1" = "" ]; then
echo
echo 'Sintaxe: geraCert.sh nome do certificado nome da CAnome do certificado nome da CA '
echo
exit
fi
if [ "$2" = "" ]; then
echo
echo 'Sintaxe: geraCert.sh'
echo
exit
fi
if [ ! -f "./$2.crt" ]; then
echo
echo Arquivo $2.crt não encontrado
echo
exit
fi
# Gera uma nova chave
openssl genrsa -out $1.key 1024
# Gera uma requisição de assinatura
openssl req -new -key $1.key -out $1.csr
# Gera um certificado assinado através da requisição (5 anos)
openssl x509 -days 1825 -CA $2.crt -CAkey $2.key -in $1.csr -req -out $1.crt
# Visualiza o certificado
openssl x509 -text -noout -in $1.crt
# Verifica a assinatura
openssl verify -CAfile $2.crt $1.crt
Se você quiser mais informações, pode ver esse pequeno howto criado pelo Marlon Dutra (que eu tomei por base para gerar o meu script).
Gerando certificados com o OpenSSL