Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anterior Revisão anterior | |||
sas:certificados_digitais [2011/08/23 20:40] – maziero | sas:certificados_digitais [2013/10/10 18:19] (atual) – [Explorando certificados] maziero | ||
---|---|---|---|
Linha 1: | Linha 1: | ||
+ | ====== Certificados digitais ====== | ||
+ | |||
+ | Esta prática de laboratório visa explorar o uso de certificados digitais X.509 no âmbito da Web. | ||
+ | |||
+ | ===== Explorando certificados ===== | ||
+ | |||
+ | Acesse os sites Web da lista abaixo e analise os certificados que eles oferecem ao navegador: | ||
+ | |||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | |||
+ | Para cada site acessado, responda às seguintes questões: | ||
+ | |||
+ | * quem emitiu o certificado? | ||
+ | * qual o período de validade do certificado? | ||
+ | * qual a finalidade do certificado (conforme informado no campo de extensão '' | ||
+ | * qual a cadeia de certificação estabelecida? | ||
+ | |||
+ | ===== Explorando a cadeia de certificação ===== | ||
+ | |||
+ | O utilitário [[http:// | ||
+ | |||
+ | < | ||
+ | openssl s_client -showcerts -connect www.server.com: | ||
+ | </ | ||
+ | |||
+ | Usando esse programa, analise a cadeia de certificação dos sites indicados no exercício anterior. Existem informações que não haviam sido encontradas anteriormente? | ||
+ | |||
+ | ===== Criando uma CA e assinando certificados ===== | ||
+ | |||
+ | Este roteiro (adaptado [[http:// | ||
+ | |||
+ | == Na CA == | ||
+ | |||
+ | Criar a estrutura de diretórios e arquivos usados pela CA, de acordo com os valores //default// definidos em ''/ | ||
+ | |||
+ | < | ||
+ | mkdir demoCA demoCA/ | ||
+ | touch demoCA/ | ||
+ | echo " | ||
+ | </ | ||
+ | |||
+ | Gerar o certificado digital de nossa CA " | ||
+ | |||
+ | < | ||
+ | openssl req -new -x509 -out certificate.pem -days 3650 | ||
+ | </ | ||
+ | |||
+ | O certificado é gerado em no formato [[http:// | ||
+ | |||
+ | < | ||
+ | openssl x509 -inform pem -in certificate.pem -text | ||
+ | </ | ||
+ | |||
+ | A seguir, mover o certificado e a chave privada da CA para os locais adequados: | ||
+ | |||
+ | < | ||
+ | mv certificate.pem demoCA/ | ||
+ | mv privkey.pem demoCA/ | ||
+ | </ | ||
+ | |||
+ | == No servidor Web == | ||
+ | |||
+ | Inicialmente, | ||
+ | |||
+ | < | ||
+ | openssl req -nodes -new -x509 -keyout site_privkey.pem -out site_certif_self.pem -days 365 | ||
+ | </ | ||
+ | |||
+ | <note tip> | ||
+ | O certificado auto-assinado '' | ||
+ | </ | ||
+ | |||
+ | A partir do certificado auto-assinado, | ||
+ | |||
+ | < | ||
+ | openssl x509 -x509toreq -in site_certif_self.pem -signkey site_privkey.pem -out site_request.pem | ||
+ | </ | ||
+ | |||
+ | O arquivo '' | ||
+ | |||
+ | == Na CA == | ||
+ | |||
+ | Quando a CA recebe a requisição de assinatura de certificado, | ||
+ | |||
+ | < | ||
+ | openssl ca -policy policy_anything -out site_certif_signed.pem -infiles site_request.pem | ||
+ | </ | ||
+ | |||
+ | O certificado do site assinado pela CA pode ser visualizado através do seguinte comando: | ||
+ | |||
+ | < | ||
+ | openssl x509 -inform pem -in site_certif_signed.pem -text | ||
+ | </ | ||
+ | |||
+ | A CA então envia o certificado assinado por ela ('' | ||
+ | |||
+ | == No servidor Web == | ||
+ | |||
+ | Os arquivos '' | ||
+ | |||
+ | Sugestões de servidores Web para testar o certificado: | ||
+ | |||
+ | == No navegador (cliente) == | ||
+ | |||
+ | * Acesse o servidor Web seguro a partir de outra máquina. O que aconteceu? | ||
+ | * Para que o navegador aceite o certificado do site Web seguro, ele deve ter o certificado da entidade certificadora (CA) armazenado em sua base de certificados. Por isso, inclua o certificado de nossa CA (arquivo '' | ||
+ | * Acesse novamente o servidor Web seguro. Mudou algo? | ||