Seu DKIM record geralmente é configurado no DNS para o seu domínio pelo profissional de TI da sua empresa ou pelo administrador de e-mail, sua empresa de hospedagem ou seu provedor de serviços de e-mail (ESP), se ele tiver autoridade sobre o domínio de envio.
O DKIM DNS record é composto de diferentes elementos informativos representados pelo uso de pares tag=valor. A tag geralmente é uma única letra seguida por um sinal de igual (=). O valor de cada tag indica uma informação específica sobre o remetente e a chave pública.
Há inúmeras tags disponíveis para um remetente; algumas tags são necessárias, e outras tags são opcionais. A falta de uma tag obrigatória no registro DNS DKIM causa erro de validação com o provedor de mailbox, enquanto que uma tag opcional ausente não causa.
Tags incluídas no DKIM DNS record, mas sem valor associado, são tratadas como tendo valor vazio. No entanto, as tags não incluídas no DKIM DNS record são tratadas como tendo o valor padrão.
Exemplo de DKIM DNS record
<selector(s=)._domainkey.domain(d=)>. TXT v=DKIM1; p=<chave pública>
- s= indica o nome do registro do seletor usado com o domínio para localizar a chave pública no DNS. O valor é um nome ou número criado pelo remetente. s= está incluído na assinatura DKIM.
- d= indica o domínio usado com o registro do seletor (s=) para localizar a chave pública. O valor é um nome de domínio de propriedade do remetente. d= está incluído na assinatura DKIM.
- p= indica a chave pública usada por um provedor de mailbox para corresponder à assinatura DKIM.
A íntegra do DNS DKIM record de exemplo.com fica assim:
dk1024-2012._domainkey.exemplo.com. 600 IN TXT "v=DKIM1\; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1TaNgLlSyQMNWVLNLvyY/neDgaL2oqQE8T5illKqCgDtFHc8eHVAU+nlcaGmrKmDMw9dbgiGk1ocgZ56NR4ycfUHwQhvQPMUZw0cveel/8EAGoi/UyPmqfcPibytH81NFtTMAxUeM4Op8A6iHkvAMj5qLf4YRNsTkKAV;"
- O seletor (s=): dk1024-2012
- O domínio (d=): exemplo.com
- A versão (v=): DKIM1
- A chave pública (p=): MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1TaNgLlSyQMNWVLNLvyY/neDgaL2oqQE8T5illKqCgDtFHc8eHVAU+nlcaGmrKmDMw9dbgiGk1ocgZ56NR4ycfUHwQhvQPMUZw0cveel/8EAGoi/UyPmqfcPibytH81NFtTMAxUeM4Op8A6iHkvAMj5qLf4YRNsTkKAV
Tag obrigatória
- p= é a chave pública usada por um provedor de mailbox para corresponder à assinatura DKIM gerada usando a chave privada. O valor é uma string de caracteres que representa a chave pública. Ele é gerado junto com sua chave privada correspondente durante a configuração do DKIM.
Tags opcionais recomendadas
- v= é a versão do registro DKIM. O valor deve ser DKIM1 e ser a primeira tag no registro DNS.
- t= indica que o domínio está testando o DKIM ou está impondo uma correspondência de domínio no cabeçalho da assinatura entre as tags "i=" e "d=".
- t=y indica que o domínio está testando DKIM. Os remetentes usam essa tag ao configurar primeiro o DKIM para que a assinatura do DKIM seja validada corretamente. Alguns provedores de mailbox ignoram uma assinatura DKIM em modo de teste; portanto, essa tag deve ser excluída antes da implantação completa ou alterada para t=s se estiver usando a tag "i=" no cabeçalho da assinatura DKIM.
-
t=s indica que qualquer cabeçalho de assinatura DKIM usando a tag "i=" deve ter o mesmo valor de domínio no lado direito do sinal @ na tag "i=" e na tag "d=" (i= local-part@domain.com). O domínio da tag "i=" não pode ser um subdomínio da tag "d=". Não inclua esta tag se for necessário o uso de um subdomínio.
Tags opcionais
- g= é a granularidade da chave pública. O valor deve corresponder à local-part do sinalizador i= no campo de assinatura DKIM (i= local-part@domain.com) ou conter um asterisco curinga (*). Esse sinalizador restringe qual endereço de assinatura o registro do seletor pode usar.
- h= indica quais algoritmos hash são aceitos. O valor padrão é permitir todos os algoritmos, mas você pode especificar sha1 e sha256. Signatários e validadores devem aceitar sha256. Os validadores também devem aceitar sha1.
- k= indica o tipo de chave. O valor padrão é rsa, que deve ser aceito tanto pelos signatários quanto os validadores.
- n= é um campo de notas destinado a administradores, não a usuários finais. O valor padrão está vazio e pode conter uma mensagem que um administrador pode querer ler.
-
s= indica o tipo de serviço ao qual este registro se aplica. O valor padrão é um asterisco curinga (*) que corresponde a todos os tipos de serviço. O outro valor permitido é a palavra "e-mail", que indica que a mensagem é de correio eletrônico. Esaa tag não é igual a um registro de seletor. Ela serve para restringir o uso de chaves se o DKIM for usado para outros propósitos além do e-mail no futuro. Se usada, ela é incluída no registro DNS TXT DKIM e não na assinatura DKIM. Se outros tipos de serviço forem definidos no futuro, os validadores ignorarão o registro DKIM se ele não corresponder ao tipo de mensagem enviada.
Tags não reconhecidas
Todas as tags não especificadas no RFC 6376 não fazem parte do protocolo DKIM e devem ser ignoradas durante o processo de verificação. Nem todos os provedores de mailbox ignoram tags não reconhecidas, portanto, pode haver um erro durante o processo de verificação.
Para informações completas sobre a assinatura DKIM, consulte o site DKIM ou RFC 6376.