{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-14T18:51:07.469Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC9325",
  "document": {
    "abstract": "Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) are used to protect data exchanged over a wide range of application protocols and can also form the basis for secure transport protocols. Over the years, the industry has witnessed several serious attacks on TLS and DTLS, including attacks on the most commonly used cipher suites and their modes of operation. This document provides the latest recommendations for ensuring the security of deployed services that use TLS and DTLS. These recommendations are applicable to the majority of use cases. RFC 7525, an earlier version of the TLS recommendations, was published when the industry was transitioning to TLS 1.2. Years later, this transition is largely complete, and TLS 1.3 is widely available. This document updates the guidance given the new environment and obsoletes RFC 7525. In addition, this document updates RFCs 5288 and 6066 in view of recent attacks.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9325/",
      "updated": "2026-10-14T18:51:07.469Z",
      "version": "extractDocs.js@commit:673dd514c094"
    },
    "authors": [
      {
        "name": "Yaron Sheffer"
      },
      {
        "name": "Peter Saint-Andre"
      },
      {
        "name": "Thomas Fossati"
      }
    ],
    "authors$meta": {
      "confidence": "high",
      "note": "Parsed from Datatracker doc page article:author (profile full names)",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9325/",
      "updated": "2026-10-14T18:51:07.469Z",
      "version": "extractDocs.js@commit:673dd514c094"
    },
    "docId": "RFC9325",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9325/",
      "updated": "2026-10-14T18:51:07.469Z",
      "version": "extractDocs.js@commit:673dd514c094"
    },
    "docLabel": "IETF RFC 9325",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9325/",
      "updated": "2026-10-14T18:51:07.469Z",
      "version": "extractDocs.js@commit:673dd514c094"
    },
    "docNumber": "9325",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9325/",
      "updated": "2026-10-14T18:51:07.469Z",
      "version": "extractDocs.js@commit:673dd514c094"
    },
    "docTitle": "Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9325/",
      "updated": "2026-10-14T18:51:07.469Z",
      "version": "extractDocs.js@commit:673dd514c094"
    },
    "docType": "Best Practice",
    "docType$meta": {
      "confidence": "high",
      "note": "Mapped from Datatracker std_level or RFC status text",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9325/",
      "updated": "2026-10-14T18:51:07.469Z",
      "version": "extractDocs.js@commit:673dd514c094"
    },
    "doi": "10.17487/RFC9325",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9325/",
      "updated": "2026-10-14T18:51:07.469Z",
      "version": "extractDocs.js@commit:673dd514c094"
    },
    "href": "https://doi.org/10.17487/RFC9325",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9325/",
      "updated": "2026-10-14T18:51:07.469Z",
      "version": "extractDocs.js@commit:673dd514c094"
    },
    "pages": "34",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9325/",
      "updated": "2026-10-14T18:51:07.469Z",
      "version": "extractDocs.js@commit:673dd514c094"
    },
    "publicationDate": "2022-11-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9325/",
      "updated": "2026-10-14T18:51:07.469Z",
      "version": "extractDocs.js@commit:673dd514c094"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9325/",
      "updated": "2026-10-14T18:51:07.469Z",
      "version": "extractDocs.js@commit:673dd514c094"
    },
    "references": {
      "bibliographic": [
        "IETF.draft-irtf-cfrg-aead-limits-05",
        "10.1007-3-540-36288-6_16",
        "IETF.draft-irtf-cfrg-det-sigs-with-noise-00",
        "10.1145-3278532.3278543",
        "10.1109-sp.2017.17",
        "10.1109-sp.2007.8",
        "IETF.draft-ietf-uta-tls13-iot-profile-05",
        "10.1007-978-3-319-24174-6_21",
        "NIST.SP.800-38-SERIES-DRAFTS",
        "10.1109-ISCA.2014.6853210",
        "10.1007-978-3-642-14623-7_18",
        "10.14722-ndss.2020.24084",
        "10.1145-2810103.2813707",
        "10.1145-358699.358718",
        "NIST.SP.800-56Ar3",
        "10.1007-978-3-642-25385-0_20",
        "10.1109-EuroSP.2018.00031",
        "RFC2026",
        "RFC2246",
        "RFC3261",
        "RFC3602",
        "RFC4346",
        "RFC4347",
        "RFC4949",
        "RFC5077",
        "RFC5116",
        "RFC5280",
        "RFC5321",
        "RFC6101",
        "RFC6120",
        "RFC6698",
        "RFC6797",
        "RFC6960",
        "RFC6961",
        "RFC7228",
        "RFC7435",
        "RFC7457",
        "RFC7507",
        "RFC7525",
        "RFC7568",
        "RFC7590",
        "RFC7633",
        "RFC7672",
        "RFC7673",
        "RFC7712",
        "RFC7919",
        "RFC7924",
        "RFC7925",
        "RFC8452",
        "RFC8461",
        "RFC8470",
        "RFC8879",
        "RFC9000",
        "RFC9001",
        "RFC9051",
        "RFC9110",
        "RFC9112",
        "RFC9113",
        "RFC9162",
        "RFC9191",
        "10.2139-ssrn.1591033",
        "10.1145-2987443.2987480",
        "RFC1939",
        "10.1145-3274694.3274708",
        "IETF.draft-ietf-tls-esni-15",
        "10.1109-sp.2014.14",
        "10.1007-978-3-540-45146-4_1",
        "orphan/RFC9325/h:12a3457c",
        "orphan/RFC9325/h:2e384153",
        "orphan/RFC9325/h:9545acb7",
        "orphan/RFC9325/h:7423ced8",
        "orphan/RFC9325/h:e4e36672",
        "orphan/RFC9325/h:650f62c7",
        "orphan/RFC9325/h:e9713b1d",
        "orphan/RFC9325/h:5b6f37c4",
        "orphan/RFC9325/h:d9776e24",
        "orphan/RFC9325/h:a1570747"
      ],
      "bibliographic$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9325/",
        "updated": "2026-10-14T18:51:07.469Z",
        "version": "extractDocs.js@commit:673dd514c094"
      },
      "normative": [
        "RFC2119",
        "RFC3766",
        "RFC5246",
        "RFC5288",
        "RFC5746",
        "RFC6066",
        "RFC6125",
        "RFC6176",
        "RFC6347",
        "RFC6979",
        "RFC7301",
        "RFC7366",
        "RFC7465",
        "RFC7627",
        "RFC7748",
        "RFC8174",
        "RFC8422",
        "RFC8446",
        "RFC8996",
        "RFC9147",
        "RFC9155"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9325/",
        "updated": "2026-10-14T18:51:07.469Z",
        "version": "extractDocs.js@commit:673dd514c094"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc9325/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9325/",
      "updated": "2026-10-14T18:51:07.469Z",
      "version": "extractDocs.js@commit:673dd514c094"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9325/",
        "updated": "2026-10-14T18:51:07.469Z",
        "version": "extractDocs.js@commit:673dd514c094"
      },
      "amendedBy": [
        "RFC9852",
        "RFC10015"
      ],
      "amendedBy$meta": {
        "confidence": "high",
        "note": "Parsed from RFC index XML",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9325/",
        "updated": "2026-10-14T18:51:07.469Z",
        "version": "extractDocs.js@commit:673dd514c094"
      },
      "amends": [
        "RFC5288",
        "RFC6066"
      ],
      "amends$meta": {
        "confidence": "high",
        "note": "Parsed from RFC index XML",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9325/",
        "updated": "2026-10-14T18:51:07.469Z",
        "version": "extractDocs.js@commit:673dd514c094"
      },
      "errataExist": false,
      "errataExist$meta": {
        "confidence": "high",
        "note": "Derived from presence of errata links on RFC/Datatracker pages",
        "originalValue": null,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9325/",
        "updated": "2026-10-14T18:51:07.469Z",
        "version": "extractDocs.js@commit:673dd514c094"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9325/",
        "updated": "2026-10-14T18:51:07.469Z",
        "version": "extractDocs.js@commit:673dd514c094"
      },
      "statusNote": "Best Current Practice",
      "statusNote$meta": {
        "confidence": "high",
        "note": "Mapped from Datatracker doc.json std_level",
        "originalValue": null,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9325/",
        "updated": "2026-10-14T18:51:07.469Z",
        "version": "extractDocs.js@commit:673dd514c094"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9325/",
        "updated": "2026-10-14T18:51:07.469Z",
        "version": "extractDocs.js@commit:673dd514c094"
      },
      "supersedes": [
        "RFC7525"
      ],
      "supersedes$meta": {
        "confidence": "high",
        "note": "Parsed from RFC index XML",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9325/",
        "updated": "2026-10-14T18:51:07.469Z",
        "version": "extractDocs.js@commit:673dd514c094"
      }
    }
  }
}