)]}'
{
  "commit": "e52f12bcd1b4b2e423062ff3d1b4f1d3d3c9f797",
  "tree": "285f495fd6e9402c5e83d5c6e7f5a69d41c1bc90",
  "parents": [
    "5b83e5d1abf0ae0033ae52ab579d906b67633b2c"
  ],
  "author": {
    "name": "Lily Chen",
    "email": "chlily@google.com",
    "time": "Thu Oct 08 18:44:13 2026 +0000"
  },
  "committer": {
    "name": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Oct 15 10:26:15 2026 -0700"
  },
  "message": "crypto/x509 MTC: Update to draft -07\n\nUpdates standalone MTC implementation to -07 version of the spec draft:\nhttps://www.ietf.org/archive/id/draft-ietf-plants-merkle-tree-certs-07.html\n\n * Updates OIDs from experimental placeholders to proper allocated OIDs.\n * Removes logHash field from MTCCertificationAuthority parsing, and\n   updates log hash to be determined by MTC CA extension OID (SHA256).\n * Updates minSerial and maxSerial acceptable range.\n * Updates CA ID attribute value to RELATIVE-OID type.\n * Widens length prefix for `signatures` in MTCProof to 24 bits.\n * Limits trust anchor ID size to 32 bytes.\n\nUpdate-Note: The flag X509_V_FLAG_USE_MTC_DRAFT_PLANTS_05 was renamed to\nX509_V_FLAG_USE_MTC_DRAFT_PLANTS_07, and it now enables the behavior of\ndraft-ietf-plants-merkle-tree-certs-07 rather than the earlier -05\nversion.\n\nBug: 571178555\nChange-Id: I80cddd1a2127ad5c517fc3fc1d8766936a6a6964\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/103948\nCommit-Queue: Lily Chen \u003cchlily@google.com\u003e\nReviewed-by: David Benjamin \u003cdavidben@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b64bc2d74090fc29aea84c5f4533ae6b487dca7e",
      "old_mode": 33188,
      "old_path": "build.json",
      "new_id": "48aba824aaf13ea2a235fd436fe366edb9ea098a",
      "new_mode": 33188,
      "new_path": "build.json"
    },
    {
      "type": "modify",
      "old_id": "ced3582f9455b9588960811acedf93c7e081f426",
      "old_mode": 33188,
      "old_path": "crypto/obj/obj_dat.h",
      "new_id": "0e7d4c2d004f977e691c8e728c189db38b733387",
      "new_mode": 33188,
      "new_path": "crypto/obj/obj_dat.h"
    },
    {
      "type": "modify",
      "old_id": "582412081870702878ea2cd9a225e4ad71b4a7e4",
      "old_mode": 33188,
      "old_path": "crypto/obj/obj_mac.num",
      "new_id": "fa39c2933a56fe469e76edb988150ae019114447",
      "new_mode": 33188,
      "new_path": "crypto/obj/obj_mac.num"
    },
    {
      "type": "modify",
      "old_id": "fa4bd648cd905097e94d46d3d52a2a0a28da724c",
      "old_mode": 33188,
      "old_path": "crypto/obj/objects.txt",
      "new_id": "3fdc316e45232d0f6a7e919220a25020e76d38ce",
      "new_mode": 33188,
      "new_path": "crypto/obj/objects.txt"
    },
    {
      "type": "modify",
      "old_id": "ab07fece0ad81a4806a9efc7623aa92b9c6e8094",
      "old_mode": 33188,
      "old_path": "crypto/x509/internal.h",
      "new_id": "a5e3629bd6a0428a027d2dc593b112fb96bd29b6",
      "new_mode": 33188,
      "new_path": "crypto/x509/internal.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "860a2ae1934e189127d7932c060441e924165fc5",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/README.txt"
    },
    {
      "type": "modify",
      "old_id": "31aeedbd8d614a4c9a61661d0455b0ca09cee8a5",
      "old_mode": 33188,
      "old_path": "crypto/x509/test/mtc/ca_cert.pem",
      "new_id": "acea4b635c7c231f7cbb5c580188dba4b57600a1",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/ca_cert.pem"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "92847c9214f5f77b85e15c02598a64bba5d5e1a4",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/ca_ext_oid_wrong/ca_cert.pem"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d30b9cfff1a233a693eaa0d04e85d0611fe4c2c5",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/ca_ext_oid_wrong/cert_1_0.pem"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d8dd662cdef7b500bcb45c8caebc6c976410e082",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/ca_ext_oid_wrong/mtc_testdata_config.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e2f672b1b0632212c6c7cc090a19d86657572988",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/ca_ext_trailing_data/ca_cert.pem"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c17224fa6a4a940c4cfd339e7954cbba3d34caf6",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/ca_ext_trailing_data/cert_1_0.pem"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "65abed904b44a7cd315febe6bbec0dc952ad9882",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/ca_ext_trailing_data/mtc_testdata_config.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a05d60a2d57a797548305dcf38929cd0ec2e84c0",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/ca_id_too_long/ca_cert.pem"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a44343509ec21fb25f6685ed4af4fa23c71eda4f",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/ca_id_too_long/cert_1_0.pem"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1c111104fb168e41c9266a03f1cf629ad40e1b32",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/ca_id_too_long/mtc_testdata_config.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7814e8b6f6f6306359a637d589b362e53bc6c6de",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/ca_min_serial_too_low/ca_cert.pem"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0e89e23f25e5f047b1d81a6d6ef4e066a1cf4707",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/ca_min_serial_too_low/cert_1_0.pem"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "854aef1534f2aa9065410acc751af43bf09c5923",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/ca_min_serial_too_low/mtc_testdata_config.json"
    },
    {
      "type": "modify",
      "old_id": "7225580f95783f09314ba42af7a17a2d8a954cf8",
      "old_mode": 33188,
      "old_path": "crypto/x509/test/mtc/cert_10_0.pem",
      "new_id": "394656b2225a6d84e999aae6991d44ccf19ac209",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/cert_10_0.pem"
    },
    {
      "type": "modify",
      "old_id": "1f9a550e0e85d3349cd311e8943398a5852b7d67",
      "old_mode": 33188,
      "old_path": "crypto/x509/test/mtc/cert_10_1.pem",
      "new_id": "32ac991d801e0c270accd03746dabae4fc16f6c6",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/cert_10_1.pem"
    },
    {
      "type": "modify",
      "old_id": "12bd95c132a8446e54a6f6fcd4b4110b6c0556d4",
      "old_mode": 33188,
      "old_path": "crypto/x509/test/mtc/cert_2034_0.pem",
      "new_id": "a0fe0cfd2c808d50185239d6dfe68c2842c44d42",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/cert_2034_0.pem"
    },
    {
      "type": "modify",
      "old_id": "6a7e03b42af1e49901fe7e4782da32320c06e481",
      "old_mode": 33188,
      "old_path": "crypto/x509/test/mtc/cert_2035_0.pem",
      "new_id": "681c69e2ba54880f6b771fdf3c746acc974c891c",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/cert_2035_0.pem"
    },
    {
      "type": "modify",
      "old_id": "003090127fb19327a5c84840261e6b22848fb0ba",
      "old_mode": 33188,
      "old_path": "crypto/x509/test/mtc/cert_2_0.pem",
      "new_id": "2dfa9f2099ba6ef5131f788552009b42b3c4c10c",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/cert_2_0.pem"
    },
    {
      "type": "modify",
      "old_id": "9eeb06f07c37a2b8eeeec68fb9fb2d7a8b3532d8",
      "old_mode": 33188,
      "old_path": "crypto/x509/test/mtc/cert_32_0.pem",
      "new_id": "4c3fafa14ca67beba16f02abd2de05213bba3b66",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/cert_32_0.pem"
    },
    {
      "type": "modify",
      "old_id": "95c348ab7fb0a616b19bd9e9d3e5f6ad83a58b2b",
      "old_mode": 33188,
      "old_path": "crypto/x509/test/mtc/cert_33_0.pem",
      "new_id": "3baf5d1a0e8fa9ab9c5aa77cedadfa946ce0e9a9",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/cert_33_0.pem"
    },
    {
      "type": "modify",
      "old_id": "c900bbf750076d10f25228412f97bbc53ffe0b9a",
      "old_mode": 33188,
      "old_path": "crypto/x509/test/mtc/cert_33_1.pem",
      "new_id": "44d9e8b7877c6230a5ca048f20131685ad729079",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/cert_33_1.pem"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "70426d45c2b02e0ec4f265b9dcb66bdab6eb3592",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/cert_33_10.pem"
    },
    {
      "type": "modify",
      "old_id": "2aa5afeba913fc7a64ddb61461cdfbee5f66b345",
      "old_mode": 33188,
      "old_path": "crypto/x509/test/mtc/cert_33_2.pem",
      "new_id": "a7b4f486f4378dd5381d82145a2317adc2c33441",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/cert_33_2.pem"
    },
    {
      "type": "modify",
      "old_id": "d19dc097ae42b416c13fdee1ae224b9c88fa6b09",
      "old_mode": 33188,
      "old_path": "crypto/x509/test/mtc/cert_33_3.pem",
      "new_id": "85eaca64480afc6515d4c77bad33aac3fba6842e",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/cert_33_3.pem"
    },
    {
      "type": "modify",
      "old_id": "b921b5864f0f2ad735860828aa357a5e8fdb9aa6",
      "old_mode": 33188,
      "old_path": "crypto/x509/test/mtc/cert_33_4.pem",
      "new_id": "71dc3029937461d437202b284806d290cfc9aac8",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/cert_33_4.pem"
    },
    {
      "type": "modify",
      "old_id": "ed50002e59082a37b12617497a52d2d760ccf93c",
      "old_mode": 33188,
      "old_path": "crypto/x509/test/mtc/cert_33_5.pem",
      "new_id": "4ebac5314f0b4fdc42403d84c7708b135dd8e424",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/cert_33_5.pem"
    },
    {
      "type": "modify",
      "old_id": "3392c301ed267646233e9d45a8b6b1d81cb8f897",
      "old_mode": 33188,
      "old_path": "crypto/x509/test/mtc/cert_33_6.pem",
      "new_id": "eff3882a4f8ec9b448a5e56c419205708df76c86",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/cert_33_6.pem"
    },
    {
      "type": "modify",
      "old_id": "1abcdbc32ce6ed8bd23a876dc77abb8c7a50396d",
      "old_mode": 33188,
      "old_path": "crypto/x509/test/mtc/cert_33_7.pem",
      "new_id": "bf658623559857093a34102d0b468fc1817234f1",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/cert_33_7.pem"
    },
    {
      "type": "modify",
      "old_id": "9dcf2f74284194eeedc88c9ad25e2cf814b5dcc8",
      "old_mode": 33188,
      "old_path": "crypto/x509/test/mtc/cert_33_8.pem",
      "new_id": "624168fb2a57803f99f90d2b1ee501921f595388",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/cert_33_8.pem"
    },
    {
      "type": "modify",
      "old_id": "e4f47073f810281b2cf39ce0effe8a316cd2bb4f",
      "old_mode": 33188,
      "old_path": "crypto/x509/test/mtc/cert_33_9.pem",
      "new_id": "4bddf9cbff027c65f150884fa46c44246aa607bf",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/cert_33_9.pem"
    },
    {
      "type": "modify",
      "old_id": "05a37933a53249352cd5358d7085f1e84de98525",
      "old_mode": 33188,
      "old_path": "crypto/x509/test/mtc/cert_5036_0.pem",
      "new_id": "83de5aae1a9dd05ba208d83f7f91e8dc0f304e14",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/cert_5036_0.pem"
    },
    {
      "type": "modify",
      "old_id": "ac39cf8a9eab51a75537f2a81021a8d11f16d186",
      "old_mode": 33188,
      "old_path": "crypto/x509/test/mtc/mtc_testdata_config.json",
      "new_id": "6e3459f8224fd2fe1aa54128e6ef58d8282d0075",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/mtc_testdata_config.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f193bf06c423b3121fe6595291cffc7164d8d828",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/old_draft_version/ca_cert.pem"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c76e97bc95bf89f076ab29b0377be05a8b895e65",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/old_draft_version/cert_1_0.pem"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "63a662a768dfe900134c301a592e73fc5f476c5a",
      "new_mode": 33188,
      "new_path": "crypto/x509/test/mtc/old_draft_version/mtc_testdata_config.json"
    },
    {
      "type": "modify",
      "old_id": "86f23b88967e8a303f6281f5c96d367f5d2c3301",
      "old_mode": 33188,
      "old_path": "crypto/x509/v3_purp.cc",
      "new_id": "e48c0125c684501db2841e5c0c69ebe0fa105124",
      "new_mode": 33188,
      "new_path": "crypto/x509/v3_purp.cc"
    },
    {
      "type": "modify",
      "old_id": "abbbbb4354e6225b41cfde55fc7ea607bbee8a91",
      "old_mode": 33188,
      "old_path": "crypto/x509/x509_mtc.cc",
      "new_id": "1b4a8aef2e69f85cf634ffca32a04b41d83c49b7",
      "new_mode": 33188,
      "new_path": "crypto/x509/x509_mtc.cc"
    },
    {
      "type": "modify",
      "old_id": "88b77dba761be48759a54d4c90847f35b5e28bc3",
      "old_mode": 33188,
      "old_path": "crypto/x509/x509_test.cc",
      "new_id": "c50a7043fa9d875feacdb02e42802176befbddf9",
      "new_mode": 33188,
      "new_path": "crypto/x509/x509_test.cc"
    },
    {
      "type": "modify",
      "old_id": "6ceaed3c6bc604ce08916eb47f421ace63d7b959",
      "old_mode": 33188,
      "old_path": "crypto/x509/x509_vfy.cc",
      "new_id": "155f9453dbaf8f20c832c0df392c1face5202fe8",
      "new_mode": 33188,
      "new_path": "crypto/x509/x509_vfy.cc"
    },
    {
      "type": "modify",
      "old_id": "a9710a00ae8a9c9d1e90bba7c1bdf8c4f1c9f984",
      "old_mode": 33188,
      "old_path": "gen/sources.bzl",
      "new_id": "c2203329b0440b2f4a68e032f9a6faa643458093",
      "new_mode": 33188,
      "new_path": "gen/sources.bzl"
    },
    {
      "type": "modify",
      "old_id": "0d23dbfe8861fc38cf975053e52cca820d5d04a4",
      "old_mode": 33188,
      "old_path": "gen/sources.cmake",
      "new_id": "3ee2b96aaa329734e4db350bf216e7665e0d436f",
      "new_mode": 33188,
      "new_path": "gen/sources.cmake"
    },
    {
      "type": "modify",
      "old_id": "fddc5fdcb1cc277ef7bb03593b141ef40e44bc57",
      "old_mode": 33188,
      "old_path": "gen/sources.gni",
      "new_id": "d57c1f184ea17ccfd71c8c4539a08a2e5dda2cb5",
      "new_mode": 33188,
      "new_path": "gen/sources.gni"
    },
    {
      "type": "modify",
      "old_id": "04ee3b781cf142bdcb8dc5898f9345f81be815a4",
      "old_mode": 33188,
      "old_path": "gen/sources.json",
      "new_id": "cd7bc1f87abaae880b1609801b3bb803582c1c11",
      "new_mode": 33188,
      "new_path": "gen/sources.json"
    },
    {
      "type": "modify",
      "old_id": "e5bd5108ce97ab6f3216501debc326829798f322",
      "old_mode": 33188,
      "old_path": "gen/sources.mk",
      "new_id": "d5f104b92ccfc16bc88a8b9065e0cdb4d72a7d24",
      "new_mode": 33188,
      "new_path": "gen/sources.mk"
    },
    {
      "type": "modify",
      "old_id": "9ca8e6707a4670b3c90ac39184a14b7fee6a0175",
      "old_mode": 33188,
      "old_path": "include/openssl/nid.h",
      "new_id": "38e5dc86d9a725ed38247bb1b7dea99b4f5e76c6",
      "new_mode": 33188,
      "new_path": "include/openssl/nid.h"
    },
    {
      "type": "modify",
      "old_id": "7e70ca2b2747626ef8d0311bd81d444a17815dfa",
      "old_mode": 33188,
      "old_path": "include/openssl/x509.h",
      "new_id": "c01043e52fc1bf9ae3cc4fb9267c5432cd5d67d7",
      "new_mode": 33188,
      "new_path": "include/openssl/x509.h"
    }
  ]
}
