Script para gerar CSR no Linux

Para solicitar certificado digital SSL ICP-Edu, emitido pela GlobalSign, é necessário criar um arquivo de solicitação de assinatura de certificado, conhecido como arquivo CSR – Certificate Signing Request . É uma das primeiras etapas para se obter um certificado digital SSL, gerada no mesmo servidor em que se planeja instalar o certificado digital SSL, o CSR contém informações (por exemplo, nome comum ou domínio, empresa, país, cidade e, e-mail do responsável) que a Autoridade Certificadora (AC) usará para criar seu certificado. Ela também contém a chave pública que será incluída no certificado e é assinada com a chave privada correspondente.

Para facilitar a geração de um  CSR e encaminhar seu pedido de Certificado Digital SSL a Coordenadoria de Certificação Digital da Sala Cofre disponibilizou abaixo um script para gerar o CSR em um ambiente Linux. 

#!/bin/bash
echo Criando CSR...
echo -n Domínio:
read c
if [[ $c == *"ufsc.br" ]]; then
d=$(date +%Y-%m-%d)
dir="$c-$d"
config=/tmp/tmpconfigssl
mkdir -p $dir
else
echo "Dominio $c incorreto! Somente domínios com sufixo ufsc.br são permitidos"
exit 0
fi
echo -n E-mail:
read email

function geraConfig {
echo "
[ req ]
prompt = no
distinguished_name = req_distinguished_name

[ req_distinguished_name ]
countryName = BR
stateOrProvinceName = Santa Catarina
localityName = Florianopolis
organizationName = UFSC
organizationalUnitName = SETIC
commonName = $1
emailAddress = $email
" > $2
}

openssl genrsa -out "$dir/$c.key" 2048
geraConfig $c $config
openssl req -new -nodes -config $config -key "$dir/$c.key" -out "$dir/$c.csr"
openssl req -noout -text -in "$dir/$c.csr"