Child pages
  • Geração de Chave e Certificado
Skip to end of metadata
Go to start of metadata

Autor: Rui Ribeiro
Atualização: 09/11/2010
Revisão: 4

Introdução

Este tutorial apresenta os passos necessários para se fazer a geração de Chave e Certificado SSL.

A seguir serão apresentados os requisitos bem como roteiro para a referida instalação.

Roteiro

1. Crie o arquivo /tmp/openssl.cnf com o conteúdo a seguir não esquece de substituir a variável $HOSTNAME pelo hostname máquina (ex.: servidor, não utilizar servidor.instituicao.br).

[ req ]
default_bits = 2048 # Size of keys
string_mask = nombstr # permitted characters
distinguished_name = req_distinguished_name

[ req_distinguished_name ]
# Variable name   Prompt string
#----------------------   ----------------------------------
0.organizationName = Nome da universidade/organização
organizationalUnitName = Departamento da universidade/organização
emailAddress = Endereço de email da administração
emailAddress_max = 40
localityName = Nome do município (por extenso)
stateOrProvinceName = Unidade da Federação (por extenso)
countryName = Nome do país (código de 2 letras)
countryName_min = 2
countryName_max = 2
commonName = Nome completo do host (incluíndo o domínio)
commonName_max = 64

# Default values for the above, for consistency and less typing.
# Variable name   Value
#------------------------------   ------------------------------
#0.organizationName_default =
organizationalUnitName_default = CPD
#localityName_default = Porto Alegre
#stateOrProvinceName_default = Rio Grande do Sul
countryName_default = BR
commonName_default = $HOSTNAME

É possível fazer o download do arquivo acima através da seguinte linha de comando:

wget https://svn.rnp.br/repos/CAFe/conf/ssl/openssl.cnf -O /tmp/openssl.cnf --no-check-certificate

2. Muito embora este seja um roteiro genérico, cada aplicação que for utilizar chave/certificado possuirá particularidades. Desta forma, escolha os comandos a serem executados neste passo de acordo com a aplicação que utilizará chave/certificado.

2.1 Apache

openssl genrsa 2048 -config /tmp/openssl.cnf > /etc/ssl/private/chave-apache.key
openssl req -new -x509 -nodes -days 1095 -sha1 -key /etc/ssl/private/chave-apache.key -set_serial 00 \
        -config /tmp/openssl.cnf > /etc/ssl/certs/certificado-apache.crt
chown root:ssl-cert /etc/ssl/private/chave-apache.key /etc/ssl/certs/certificado-apache.crt
chmod 640 /etc/ssl/private/chave-apache.key

2.2 OpenLDAP

openssl genrsa -out /etc/ldap/$HOSTNAME.key 2048 -config /tmp/openssl.cnf
openssl req -new -key /etc/ldap/$HOSTNAME.key -out /etc/ldap/$HOSTNAME.csr -batch -config /tmp/openssl.cnf
openssl x509 -req -days 730 -in /etc/ldap/$HOSTNAME.csr -signkey /etc/ldap/$HOSTNAME.key -out /etc/ldap/$HOSTNAME.crt

2.3 Shibboleth IDP

  • No quarto comando, informe os seguintes dados:
    • Confirme o código do País (BR)
    • Unidade da federação (por extenso)
    • Cidade (por extenso)
    • Instituição (preferencialmente preencha com [ABREV - Nome por extenso])
    • Departamento da instituição (preferencialmente preencha com [ABREV - Nome por extenso])
    • Confirme que o Hostname está correto (nome DNS por extenso do host que será o IDP)
      *No quinto comando, informe a senha "changeit". A senha está cadastrada no arquivo /etc/tomcat6/server.xml e o tomcat6 precisará dela para abrir o keystore que está sendo gerado.
cd /opt/shibboleth-idp/credentials/
rm -f idp*
openssl genrsa 2048 -config /tmp/openssl.cnf > idp.key
openssl req -new -x509 -nodes -days 1825 -sha1 -key idp.key -set_serial 00 -config /tmp/openssl.cnf > idp.crt
openssl pkcs12 -export -in idp.crt -inkey idp.key -out idp.p12 -name idp -caname selfsigned

2.4 Shibboleth SP

openssl genrsa -out /etc/ssl/private/$HOSTNAME.key 2048 -config /tmp/openssl.cnf
openssl req -new -key /etc/ssl/private/$HOSTNAME.key -out /etc/ssl/private/$HOSTNAME.csr -batch -config /tmp/openssl.cnf
openssl x509 -req -days 730 -in /etc/ssl/private/$HOSTNAME.csr -signkey /etc/ssl/private/$HOSTNAME.key -out /etc/ssl/certs/$HOSTNAME.crt

2.5 SimpleSAML

cd /var/simplesamlphp/cert
openssl genrsa 2048 -config /tmp/openssl.cnf > simplesaml.key
openssl req -new -x509 -nodes -days 1095 -sha1 -key simplesaml.key -set_serial 00 -config /tmp/openssl.cnf > simplesaml.crt
openssl pkcs12 -export -in simplesaml.crt -inkey simplesaml.key -out simplesaml.p12 -name simplesaml -caname selfsigned

3. Exclua o arquivo /tmp/openssl.cnf. Para tanto, execute a linha de comando a seguir:

rm -f /tmp/openssl.cnf
  • No labels