)]}'
{
  "commit": "590beb27d3b09615f8d3d44e4a57d093f0ca314e",
  "tree": "26100f7f9b64eda9faa5537551fd4022f9aebe5a",
  "parents": [
    "690345050d81a5230e87920dd7cf5c9c0f89fcc7"
  ],
  "author": {
    "name": "Ben Collins",
    "email": "bcollins@libjwt.io",
    "time": "Thu Jun 18 01:08:02 2026 -0400"
  },
  "committer": {
    "name": "Ben Collins",
    "email": "bcollins@libjwt.io",
    "time": "Thu Jun 18 01:08:02 2026 -0400"
  },
  "message": "openssl: export public \"x\" for private OKP keys (RFC 8037)\n\nThe OpenSSL backend exported only \"d\" for a private OKP (Ed25519/Ed448/\nX25519/X448) key -- unlike the GnuTLS backend, which emits both, and contrary\nto RFC 8037, where a private OKP JWK carries both \"x\" and \"d\". Always export\n\"x\", adding \"d\" only for a private key.\n\nThis makes private OKP JWKs standards-compliant and identical across\nbackends, lets every OKP key get a thumbprint/\"kid\", and keeps a re-imported\nJWK off the seed-only path that crashes GnuTLS \u003c 3.8.13.\n\nUpdates the key2jwk golden output (tests/cli/all.json) accordingly.\n\nSigned-off-by: Ben Collins \u003cbcollins@libjwt.io\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "05035a01babed3a9fb8b5a2912ba4e7b7994acaf",
      "old_mode": 33188,
      "old_path": "libjwt/openssl/jwk-export.c",
      "new_id": "1155dbe7db7438d2fc417ba0fbbde678bf027323",
      "new_mode": 33188,
      "new_path": "libjwt/openssl/jwk-export.c"
    },
    {
      "type": "modify",
      "old_id": "80d78b416948bc9ca7dbe24fe04b125302a3fc98",
      "old_mode": 33188,
      "old_path": "tests/cli/all.json",
      "new_id": "6d96b579f8f1535534341f44b2e03d5efd4d652b",
      "new_mode": 33188,
      "new_path": "tests/cli/all.json"
    }
  ]
}
