Escolar Documentos
Profissional Documentos
Cultura Documentos
Certificados SSL so necessrios para que um determinado servio opere com suporte a conexo segura por meio de criptografia. Uma maneira de se obter o certificado, atravs de uma Autoridade Certificadora (Certificate Authority ou CA). Outra maneira, gerando ele por conta prpria atravs de ferramentas adeqadas. Um certificado gerado atravs de ferramentas pode ser de dois tipos: autoassinado (self-signed) ou assinado por uma CA. No caso de ser assinado por uma CA, voc ter que gerar dois certificados: um para a sua prpria CA, e o outro para o servidor, sendo que esse ltimo ser assinado pela CA que voc criou. A maneira mais direta gerar um certificado auto-assinado, pois nesse caso, no ser necessrio um certificado separado apenas para a CA. Quando utilizamos conexo segura, os clientes precisam apenas dos certificados das CA's em quem eles confiam. Por isso que manter certificados auto-assinados pode tornar-se mais difcil. Para que o cliente se conecte a um servio que usa certificado auto-assinado, precisar de uma cpia do prprio certificado do servidor j que no existe um certificado separado apenas para a CA que o emitiu. Ou seja, para cada servio existir um certificado que dever ser instalado em cada cliente, enquanto que poderamos instalar apenas um certificado em cada cliente: o da CA responsvel pela emisso de todos os certificados da rede. Repare que cada certificado aponta para uma CA, formando uma cadeia de confiana. A raiz dessa cadeia, que geralmente uma CA de maior confiana, sempre vai possuir um certificado auto-assinado. Ou seja, certificados autoassinados funcionam como se fossem a raiz da cadeia de confiana. Vamos explicar abaixo o processo de criao de um certificado auto-assinado. Se voc estiver pensando em disponibilizar suporte SSL/TLS a outros servios de sua rede, talvez a melhor opo seja utilizar certificados assinado por uma CA. Nesse caso, consulte o site Certificate Management and Generation with OpenSSL para maiores informaes sobre como criar uma CA para sua rede e assinar os seus prprios certificados, ou o site da CAcert, que uma organizao que fornece certificados digitais assinados gratuitamente. Tambm existem vrias empresas que vendem este servio.
Para criar um certificado digital, necessrio que o pacote OpenSSL esteja instalado no servidor. Execute os seguintes comandos na distriuio Ubuntu para realizar essa instalao: 1. Atualize as listas dos repositrios
usuario@servidor:~$ sudo aptitude update
Tendo o pacote OpenSSL instalado, execute o script CA com o parmetro newreq para criar os arquivos do certificado auto-assinado e de sua respectiva chave privada:
usuario@servidor:~$ /usr/lib/ssl/misc/CA.sh -newreq Generating a 1024 bit RSA private key ...........++++++ ..++++++ writing new private key to 'newkey.pem' Enter PEM pass phrase:secret Verifying - Enter PEM pass phrase:secret ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:BR State or Province Name (full name) [Some-State]:Sao Paulo Locality Name (eg, city) []:Sao Paulo Organization Name (eg, company) [Internet Widgits Pty Ltd]:Universidade de Sao Paulo Organizational Unit Name (eg, section) []:Instituto de Matematica e Estatis tica Common Name (eg, YOUR name) []:servidor.ime.usp.br Email Address []:. Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:. An optional company name []:. Request is in newreq.pem, private key is in newkey.pem
No necessrio preencher os trs ltimos campos, por isso colocamos um ponto ('.') em cada um deles. Voc pode preench-los se achar conveniente. importante que o campo Common Name seja preenchido com o endereo correto do servidor (nome e domnio). Teremos como resultado da execuo do script CA dois arquivos: newreq.pem, que contm o certificado auto-assinado do servidor; e newkey.pem, que contm a chave privada do certificado protegida por uma senha. Esses dois arquivos esto listados abaixo:
Se o certificado auto-assinado que foi criado for usado para proteger um servio de rede, talvez seja necessrio remover a senha de acesso chave privada. Se a chave privada for mantida com a senha, toda vez que o servio que a utilizar for inicializado, a senha ter que ser digitada pelo administrador. Para remover a senha de acesso chave privada execute o seguinte comando:
usuario@servidor:~$ openssl rsa -in newkey.pem -out openkey.pem Enter pass phrase for newkey.pem:secret writing RSA key
Esse comando vai abrir o arquivo da chave privada, para isso ele pedir a mesma senha que voc digitou no incio da gerao do certificado. Ele criar ento um novo arquivo, contendo a mesma chave privada, porm sem senha de acesso, que ser guardado no openkey.pem ou outro arquivo especificado na linha de comando. A seguir temos um exemplo desse arquivo:
Repare a ausncia do cabealho em relao ao anterior. No se esquea de restringir o acesso a esse arquivo agora, j que a chave do certificado no est mais protegida.