# Certificado auto-assinado

Em criptografia e segurança de computadores, certificados autoassinados (Self-signed certificate) são certificados de chave pública que não são emitidos por uma autoridade de certificação (CA). Esses certificados autoassinados são fáceis de fazer e não custam dinheiro. No entanto, eles não fornecem valor de confiança.
Por exemplo, se o proprietário de um site usa um certificado autoassinado para fornecer serviços HTTPS, as pessoas que visitam esse site não podem ter certeza de que estão conectadas ao destino pretendido. Pelo que eles sabem, um terceiro mal-intencionado pode estar redirecionando a conexão usando outro certificado autoassinado com o mesmo nome do titular. A conexão ainda é criptografada, mas não leva necessariamente ao destino pretendido. Em comparação, um certificado assinado por uma autoridade certificadora confiável impede esse ataque porque o navegador do usuário valida separadamente o certificado em relação à emissora. O certificado do invasor falha nessa validação.

## Benefícios

Os certificados autoassinados podem ser criados de forma gratuita, através de ferramentas como OpenSSL, keytool do Java, Adobe Reader, wolfSSL e Apple's Keychain. Eles são fáceis de personalizar e de utilizar; por exemplo, eles podem ter tamanhos de chave maiores ou conter metadados adicionais. Seu uso não envolve problemas de confiança em terceiros que podem assinar certificados indevidamente. As transações de certificados autoassinados geralmente apresentam uma superfície de ataque muito menor, eliminando a validação complexa da cadeia de certificados e as verificações de revogação de autoridade certificadora, como CRL e OCSP .

## Problemas de confiança

Em um sistema PKI baseado em CA as partes envolvidas em comunicação segura devem confiar em uma CA. Os desenvolvedores de navegadores Web podem usar os procedimentos especificados pelo fórum CA/Browser para colocar na lista de permissões autoridades de certificação públicas conhecidas. Grupos e empresas individuais podem colocar na lista de permissões certificados de CA privados adicionais. Os problemas de confiança de uma entidade que aceita um novo certificado autoassinado são semelhantes aos problemas de uma entidade que confia na adição de um novo certificado de CA. As partes em uma PKI autoassinada devem estabelecer confiança umas com as outras (usando procedimentos fora da PKI) e confirmar a transferência precisa de chaves públicas, por exemplo, compare o hash criptográfico do certificado fora da banda.
Existem muitas diferenças sutis entre os certificados autoassinados e assinados pela autoridade certificadora, especialmente na quantidade de confiança que pode ser depositada nas declarações de segurança do certificado. Algumas autoridades certificadoras podem verificar a identidade da pessoa para quem emitem um certificado; por exemplo, os militares dos EUA emitem seus cartões de acesso comum pessoalmente. A CA pode atestar valores de identidade como esses incluindo-os no certificado assinado. A entidade que valida o certificado pode confiar na informação contida nesse certificado, na mesma medida em que confia na AC que o assinou (e por implicação, nos procedimentos de segurança que a AC utilizou para verificar a informação atestada).
Com um certificado autoassinado, ao contrário, a confiança dos valores no certificado é mais complicada porque a entidade possui a chave de assinatura e sempre pode gerar um novo certificado com valores diferentes. Por exemplo, as datas de validade de um certificado autoassinado podem não ser confiáveis pois pode ser criado e assinado um novo certificado que contenha um intervalo de datas válido pela entidade.
Os valores em um certificado autoassinado só podem ser confiáveis quando os valores foram verificados fora de banda durante a aceitação do certificado, e há um método para verificar se o certificado autoassinado não foi alterado. Por exemplo, o procedimento de confiança em um certificado autoassinado inclui uma verificação manual das datas de validade e um hash do certificado é incorporado à lista branca. Quando o certificado é apresentado para uma entidade validar, eles primeiro verificam se o hash do certificado corresponde ao hash de referência na lista branca e se eles correspondem (indicando que o certificado autoassinado é o mesmo que foi formalmente confiável ) então as datas de validade do certificado podem ser confiáveis. Tratamento especial de campos de certificado X.509 para certificado autoassinado pode ser encontrado em RFC 3280 .
A revogação de certificados autoassinados difere dos certificados assinados por autoridade certificadora. Por natureza, nenhuma entidade (autoridade certificadora ou outras) pode revogar um certificado autoassinado. Mas pode-se invalidar uma autoridade certificadora autoassinada removendo-a da lista de permissões de confiança.

## Casos de usos

Os certificados autoassinados têm usos limitados, por exemplo, nos casos em que o emissor e o único usuário são a mesma entidade geradora do certificado. Por exemplo, o certificado raiz, que é uma forma de certificado autoassinado. Outro exemplo é o Encrypting File System no Microsoft Windows emite um certificado autoassinado em nome de uma conta de usuário para criptografar e descriptografar arquivos de forma transparente em tempo real.

## Veja também

* Certificate authority § Implementation weakness of the trusted third party scheme
* X.509, the standard describing the most widely used format for storing certificates
* Let's Encrypt, a certificate authority which provides free domain-validated certificates