Certificados e confiança
Lição 40 de 47 do curso Redes com o Terminal da Coddy.
Durante o handshake, o servidor apresenta um certificado: um documento que informa para qual host ele é destinado, quando expira e quem atesta sua validade.
Qualquer pessoa pode gerar um certificado alegando ser qualquer host, então a assinatura é o que importa. Os certificados são assinados por uma Autoridade Certificadora, e sua máquina vem com uma lista de autoridades em que confia:
ls -l /etc/ssl/certs/ca-certificates.crtSeu cliente verifica três coisas: se o certificado é assinado por uma autoridade presente nessa lista, se não expirou e se o nome nele corresponde ao host que você solicitou. Se qualquer uma delas falhar, a conexão será interrompida.
É por isso que o último teste costuma falhar quando um serviço interno é acessado pelo IP, mesmo com um certificado válido: o certificado é para um nome, e você solicitou um número.
Desafio
MédioEncontre a lista de autoridades nas quais sua máquina confia.
Verifique se o pacote de CAs existe em /etc/ssl/certs/ca-certificates.crt e imprima ca bundle present se existir, ou missing se não existir.
Saída esperada:
ca bundle presentCada conexão TLS que você fizer será verificada em relação a este arquivo.
Experimente você mesmo
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Redes com o Terminal
2Nomes e DNS
Por que os nomes existemO arquivo hostsConsultando um nomeTipos de registrosRecapitulação: nomes5HTTP na Prática
Anatomia de uma RequisiçãoMétodos de RequisiçãoCódigos de StatusCabeçalhos de RespostaEscrevendo uma RespostaRecapitulação: Fundamentos de HTTP8HTTPS e TLS
Por que HTTPSO esquema escolhe a portaCertificados e confiançaQuando o TLS falhaRecapitulação: HTTPS3Portas e Sockets
O que é uma portaPortas conhecidasLocalhostEscutando vs. conectandoRecapitulação: portas6curl em Detalhes
Visualizando os CabeçalhosSalvando RespostasCabeçalhos PersonalizadosStatus e TempoCódigos de Saída do curlRecapitulação: Opções do curl9Autenticação e Depuração
Chaves de API e BearerO User AgentTimeouts e Novas TentativasLendo uma FalhaRevisão: DepuraçãoPratique por conta própria: Playground de Terminal