Pular para o conteúdo
buybitcoinsmart

Glossário / Referência do desenvolvedor

Certificado X.509

Outros nomes: Certificados X.509.

O que é um certificado X.509?
Um certificado X.509 é um arquivo assinado que vincula uma chave pública a um nome e a um período de validade, e é o formato por trás de toda conexão HTTPS que você faz com uma corretora.

O formato é antigo e mostra isso: o X.509 surgiu em 1988 como parte de um padrão de diretório, e o perfil de internet ainda em uso, a RFC 5280, data de maio de 2008. Um certificado é um registro estruturado assinado por um emissor, não um segredo, então é seguro distribuí-lo. O que ele prova é limitado: alguém convenceu uma autoridade de que controlava um nome.

Como funciona

Um certificado é uma lista de campos mais uma assinatura que cobre todos eles.

Os campos que importam para o leitor são poucos. Um número de série identifica o certificado para o seu emissor. O campo do emissor indica quem o assinou, o campo do titular indica de quem ele trata, e duas marcas de tempo delimitam a janela em que ele vale. Um bloco de informações da chave pública do titular guarda a própria chave. As extensões levam o resto, e uma delas faz a maior parte do trabalho: o subjectAltName lista os nomes de domínio que o certificado cobre.

O campo do nome comum é a armadilha clássica. Ele parece o lugar onde um domínio é guardado, e por anos foi, mas a RFC 6125 tornou obsoleta a sua leitura em março de 2011 e os navegadores agora o ignoram. Um certificado cujo subjectAltName não lista o site que você está visitando falha, diga o que disser o seu nome comum.

Os prazos de validade desabaram na última década. Os certificados TLS de confiança pública emitidos a partir de 1º de setembro de 2020 não podem ter validade superior a 398 dias, contra três anos e depois dois, e a Let's Encrypt emite certificados de 90 dias como rotina, porque a renovação é automatizada. Uma janela curta substitui a revogação, que nunca funcionou de forma confiável.

Qualquer um pode criar um. Assinar um certificado com a sua própria chave produz um certificado autoassinado, em que emissor e titular são idênticos, e é um arquivo perfeitamente válido que nenhum repositório de confiança reconhece. Uma assinatura não é o que torna um certificado confiável; a identidade do signatário é.

Onde você o vê

Clique no cadeado em qualquer navegador e você está vendo um certificado X.509.

O mesmo formato de arquivo aparece onde o software precisa verificar que algo veio de um fornecedor específico: binários de aplicativos assinados, atualizações de firmware assinadas e os certificados de atestação que algumas carteiras de hardware carregam para que o aplicativo de um fornecedor possa distinguir um dispositivo genuíno de um clone. O BIP70 embutiu certificados diretamente nas solicitações de pagamento de bitcoin, a única vez que o formato fez parte de um protocolo de bitcoin.

Dois hábitos protegem o comprador aqui. Nunca clique para prosseguir em um aviso de certificado em um site que guarda dinheiro, porque o navegador está informando que o nome e a chave não combinam, e não há versão benigna disso em um domínio de corretora. E lembre que um certificado válido em um site fraudulento é normal, não contraditório: a verificação cobre o nome, então, se o nome é quase igual ao verdadeiro, o certificado está fazendo o seu trabalho enquanto você perde os seus fundos.

Certificado X.509 vs certificado folha

X.509 é um formato; folha descreve uma posição. Todo certificado de uma cadeia é um certificado X.509, incluindo os intermediários e a raiz autoassinada, e chamar um deles de folha diz apenas que ele está na ponta, identificando um servidor real em vez de autorizar novas emissões. A diferença é visível em uma única extensão, pois um certificado cuja basicConstraints o marca como autoridade pode assinar outros, e um certificado folha não.

Não confundir com

Perguntas frequentes

Por que os certificados agora expiram tão rápido?

Porque a revogação não é confiável, então prazos curtos de validade limitam o dano de um certificado em que não se deveria mais confiar. Os certificados de confiança pública emitidos desde 1º de setembro de 2020 têm limite de 398 dias, e a Let's Encrypt usa 90 dias.

Um certificado autoassinado é perigoso?

Ele não é defeituoso por si só, mas nada o garante. Emissor e titular são a mesma parte, então aceitar um significa confiar em quem o entregou, e é por isso que os navegadores avisam em vez de se conectar em silêncio.

Termos relacionados

Mais em Referência do desenvolvedor

Ler esta página em inglês