[ DNS & domains ]

TLSA records: publish the information DANE actually requires

Build a TLSA record from the actual SMTP service key and verify the DNSSEC and rollover conditions that make it useful.

By the EmailAuth research team

[ Key points ]

  • Use the correct authenticated MX service and TLSA discovery path.
  • For 3 1 1, hash DER SubjectPublicKeyInfo, not PEM text.
  • Verify DNSSEC, served key and sender behavior separately.
On this page

A TLSA record associates a TLS service with certificate or public-key data. It is not a TXT record, a replacement for an MX record or evidence that every sender uses DANE. For SMTP, the relevant discovery and enforcement behavior is defined by RFC 7672.

Start with the MX service hostname

References: RFC 7672 §2.2, RFC 7672 §3.1.1, RFC 6698 §2.1.

For a service on TCP port 25 at mx.example.com, the conventional TLSA owner is _25._tcp.mx.example.com. Derive the name from the actual SMTP exchange hostname, not automatically from the visible From domain or zone apex. Check every MX endpoint that the deployment intends to protect and the DNSSEC status along the discovery path.

The TLSA data fields are certificate usage, selector, matching type and association data. For this simple non-aliased route, the owner shown is sufficient; aliases require the authenticated TLSA base-domain handling in RFC 7672 §2.2. A commonly recommended SMTP DANE profile is 3 1 1: DANE-EE usage, SubjectPublicKeyInfo selection and SHA-256 matching. These numbers are meaningful protocol choices, not a generic prefix for arbitrary certificate text. RFC 7672 and RFC 7671 describe supported usages and operational considerations; keep unsupported combinations out of a deployment recipe.

Derive the exact bytes

References: RFC 6698 §2.1.2, RFC 6698 §2.1.3.

For a local PEM certificate file cert.pem, in a Bash shell first enable set -o pipefail; a reproducible SPKI digest pipeline is then openssl x509 -in cert.pem -pubkey -noout | openssl pkey -pubin -outform DER | openssl dgst -sha256. Require every stage to succeed. Hash the DER public-key representation, not the PEM text, the displayed fingerprint or the whole certificate when selector 1 is intended.

Construct _25._tcp.mx.example.com. 300 IN TLSA 3 1 1 HEXDIGEST, replacing HEXDIGEST with the actual digest. This is a template, not a publishable record. Obtain the certificate presented by the intended SMTP endpoint through a controlled STARTTLS inspection and compare its selected bytes. A local file may differ from the certificate the server really serves.

Test a key change before retiring the old association

References: RFC 7672 §4, RFC 7671 §8.

Synthetic fixture A uses a test certificate with key A and a TLSA association derived from A. Expected byte comparison is a match. Fixture B serves a certificate with key B while retaining only A's association; expected comparison is a mismatch. Fixture C publishes both acceptable associations for a planned transition and verifies the intended endpoint against B before retiring A.

The timing must account for cached TLSA data and all active server instances. A certificate renewed with the same public key can keep the same 3 1 1 association, whereas a new key changes it. A successful digest comparison is a local cryptographic check, not an SMTP DANE interoperability result. Live DNSSEC and SMTP testing remain separate evidence requirements.

Verify transport rather than a dashboard label

References: RFC 7672 §2.2, RFC 7672 §3.

Use a DNSSEC-validating path to establish usable TLSA data, then test the actual SMTP handshake and association with a DANE-capable implementation. Preserve DNS answers, validation trace, certificate chain, selected association and the sender's result. A supporting sender should not silently treat a failed required DANE authentication as a successful secure delivery. Do not claim universal transport protection: sender support and the exact authenticated discovery result matter.

Observed association and discovery checks

References: RFC 4035 §5.

The retained 7 November 2026 signed fixture, inspected but not rerun for this review, validates a TLSA RRset through a pinned parent, authenticated DS and child DNSKEY. A separate loopback TLS service actually presented test certificate A and then B. Extracting SPKI from each received handshake certificate produced a match for A against A, a mismatch for B against A alone, a match for B during an A/B overlap and a match for B after retiring A. The transcript records timestamps, loopback endpoints, TLS protocol and digests. This validates the separate cryptographic ingredients; the service was ordinary TLS, not SMTP STARTTLS, and no integrated DANE mail client or live DNS resolver test is claimed.

[ Takeaway ]

Verify DNSSEC, served key and sender behavior separately.

[ By role ]

What this means for you

Choose your role for practical next steps.

IT / Mail Admin

Match the exact selected bytes

SPKI hashing and whole-certificate hashing produce different associations.

Next steps

  1. Derive the exact DER selector bytes.
  2. Test the served key rather than only a file.
  3. Overlap associations during key changes.

CISO / SecOps

Verify both trust layers

Correct TLSA bytes require validated DNS and the matching active SMTP service.

Next steps

  1. Verify DNSSEC and TLS together.
  2. Review accepted association profiles.
  3. Keep message authentication as a separate layer.

Founder / Non-technical

Coordinate mail and certificate changes

An unnoticed key change can interrupt transport for DANE-enforcing senders.

Next steps

  1. Include certificates in mail change planning.
  2. Keep every advertised MX owned.
  3. Require scoped transport claims.

[ FAQs ]

Frequently asked questions

Where is an SMTP TLSA record published?

Normally under _25._tcp followed by the actual MX service hostname for TCP port 25.

RFC 7672 §2.2

Is TLSA stored as TXT?

No. TLSA is its own DNS resource-record type.

RFC 6698 §2

What does 3 1 1 mean?

DANE-EE usage, SubjectPublicKeyInfo selection and SHA-256 matching.

RFC 6698 §2.1

Can I hash the PEM file?

Not for this profile. Hash the DER SubjectPublicKeyInfo bytes.

RFC 6698 §2.1.2 RFC 6698 §2.1.3

Does certificate renewal always change the digest?

Not if selector 1 is used and the public key stays the same.

RFC 7672 §4

Can two associations support a rollover?

Yes, with a planned overlap that covers caches and active server keys.

RFC 7671 §8.1

Does correct TLSA data replace DNSSEC?

No. SMTP DANE requires authenticated DNS discovery as specified by RFC 7672.

RFC 7672 §2.1

Does this replace DKIM?

No. TLSA/DANE authenticates a transport service; DKIM signs message data.

RFC 6376 §3

[ Sources ]

Sources

  1. RFC 4035

    Sections §5

  2. RFC 6698

    Sections §2.1 · §2.1.2 · §2.1.3 · §2

  3. RFC 7671

    Sections §8 · §8.1

  4. RFC 7672

    Sections §2.2 · §3 · §3.1.1 · §4 · §2.1

  5. RFC 6376

    Sections §3

[ Glossary ]

Glossary

TLSA
DNS resource record containing a TLS certificate association.
SPKI
SubjectPublicKeyInfo, the encoded public key and algorithm information.
DANE-EE
TLSA usage associating the end-entity service certificate or selected key directly.

Enterprise provenance

Why top financial institutions and governments retired their email security dashboards.

Traditional email authentication platforms sell you a dashboard and ask your engineers to do the labour. In high-stakes environments, manual oversight means delayed enforcement, configuration drift and unmonitored shadow domains.

EmailAuth is the agentic email provenance platform. Our agents enforce p=reject, keep third-party senders aligned and move your domains to full RFC 9989 compliance, the new DMARC standard,, with human-in-the-loop auditability.

Governments Large enterprises Tier-1 financial institutions

SaaS · Dedicated tenancy · Air-gapped on-prem · BYOK encryption

Knowledge Base