)]}'
{
  "commit": "786554f8f4e8c75bb18c5f91f69b7a328c177618",
  "tree": "410e957e9b7d5b873c30449ecf7a01e1e2cfd5e4",
  "parents": [
    "15a0c9a8e6cf820c65b67ca2cc5947c4dca57550"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Fri May 12 01:08:47 2023 -0400"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon May 15 21:24:57 2023 +0000"
  },
  "message": "Check public components in freeze_private_key\n\nWe currently don\u0027t enforce rsa_check_public_key invariants on private\nkey operations, only public key operations and RSA_check_key. This\nmeans it was actually possible, in some corner cases, to perform\noperations with oversized e or n. Fix this.\n\nThis gets us a bit closer to aligning the mess of RSA invariants.\n(RSA_check_key still performs some extra checks, but most of those\nshould be redundant with the CRT self-check.)\n\nUpdate-Note: Manually constructed RSA private keys with invalid n or e\nwill now fail private key operations. Such keys would always fail at\npublic key operations (so the signatures would never verify). They also\nalready failed RSA_check_key and parsing.\n\nThe one incompatibility of note is keys with only n and d, constructed\nby reaching into the internal RSA struct, no longer work. Instead, use\nRSA_new_private_key_no_e. Conscrypt used to do this but has since been\nmigrated to the new API.\n\nBug: 316\nChange-Id: I062fdad924b8698e257dab9760687e4b381c970d\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/59826\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b907ae4054052c2bee96ba3e6eabcd89304351bb",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/rsa/rsa_impl.c",
      "new_id": "9283466579a825fc53815d11cd03112546ddeda6",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/rsa/rsa_impl.c"
    },
    {
      "type": "modify",
      "old_id": "070e1f654ec37d62e702d16b540a85110a62b33c",
      "old_mode": 33188,
      "old_path": "crypto/rsa_extra/rsa_test.cc",
      "new_id": "fc5d5f86e5c30d9c2c67c0c4ca83bfe26c6fb6fe",
      "new_mode": 33188,
      "new_path": "crypto/rsa_extra/rsa_test.cc"
    }
  ]
}
