TLSA / DANE Record Generator
Paste a certificate or public key and generate a TLSA record for DANE. The hash is computed in your browser — nothing is uploaded.
Service
Usually your MX hostname for SMTP DANE.
Protocol is tcp.
Record name: _25._tcp.mail.example.com.
Usage
Selector
Matching type
Certificate or Public Key (PEM)
Paste a -----BEGIN CERTIFICATE----- block (for any selector) or a -----BEGIN PUBLIC KEY----- block (selector 1 only).
Your TLSA Record
Paste a certificate or public key and click Generate TLSA Record.
DANE requires DNSSEC on your zone. Without a valid DNSSEC chain, senders ignore this record and it provides no protection. Roll the TLSA record with certificate renewal (selector 1 survives renewal if you keep the same key).
How to add this record:
- Ensure DNSSEC is enabled and valid on your zone
- Add a TLSA record at
_25._tcp.mail.example.com. - Enter usage, selector, matching-type, and the hex data (some panels take all four in one field)
- Save, wait for propagation, then verify with a scan
DANE and TLSA, explained
DANE (DNS-based Authentication of Named Entities, RFC 6698) lets a domain assert which TLS certificate or public key a service is allowed to present, and publish that assertion in DNS rather than leaning entirely on the public Certificate Authority system. The assertion is a TLSA record, published at a name built from the port and protocol of the service — for SMTP that is_25._tcp.mail.example.com. A DANE-aware sender fetches that record and refuses to deliver unless the certificate it sees matches.
Every TLSA record carries three numbers followed by a hex value. Usage picks the trust model:3 (DANE-EE) pins the leaf certificate directly and needs no CA chain — it is the de facto standard for SMTP; 2 (DANE-TA) pins a private trust anchor; 1 and 0 additionally require validation against the public PKI. Selector picks what is hashed:1 the SubjectPublicKeyInfo (the public key) or0 the whole certificate. Matching-type picks how:1 SHA-256, 2 SHA-512, or0 the raw certificate bytes with no hash. The overwhelmingly common SMTP record is 3 1 1: DANE-EE, public key, SHA-256.
This generator does the hashing entirely in your browser. Paste a certificate (-----BEGIN CERTIFICATE-----) and it parses the DER, and for selector 1 it walks the X.509 structure to extract the SubjectPublicKeyInfo before hashing; paste a bare public key (-----BEGIN PUBLIC KEY-----) and the DER is already the SPKI. The SHA-256 or SHA-512 digest is produced with the Web Crypto API, so nothing is uploaded. Selector 0 (full certificate) requires a certificate, not a bare key, because there is no certificate to hash otherwise.
The single most important operational rule is to roll the TLSA record with your certificate. With selector 1 the record stays valid across renewals provided you reuse the same key pair, which is why it is recommended. With selector 0the hash changes on every renewal, so you must publish the new record before swapping the certificate or inbound mail will start failing. The safe sequence is always: publish the new TLSA record next to the old one, deploy the new certificate, confirm delivery, then remove the old record.
Finally, DANE is meaningless without DNSSEC. The whole point is that a sender can trust the TLSA record it fetched, and only DNSSEC provides that guarantee. If your zone is not signed, DANE-aware senders ignore the record. Pair DANE with MTA-STS and TLS-RPT for layered inbound transport security, and verify the result with the MTA-STS checker or a full scan on the IntoDNS.ai homepage.
TLSA record format
| Field | Values | Meaning |
|---|---|---|
| Usage | 0, 1, 2, 3 | Trust model. 3 = DANE-EE (pin leaf, standard for SMTP). |
| Selector | 0, 1 | 0 = full certificate, 1 = SubjectPublicKeyInfo (recommended). |
| Matching | 0, 1, 2 | 0 = exact bytes, 1 = SHA-256 (standard), 2 = SHA-512. |
| Data | hex | The hash (or raw bytes) of the selected data, in hexadecimal. |
Example: _25._tcp.mail.example.com. TLSA 3 1 1 a1b2c3… (DANE-EE, SPKI, SHA-256)