{
  "slug": "jwk-thumbprint",
  "name": "gizza-ai/jwk-thumbprint",
  "version": "0.1.0",
  "title": "JWK Thumbprint (RFC 7638) — gizza.ai",
  "description": "Compute the RFC 7638 SHA-256 thumbprint of a JSON Web Key — the canonical kid — in your browser. Supports RSA, EC, OKP, and oct keys. Nothing is uploaded.",
  "tags": [
    "jwk thumbprint",
    "rfc 7638",
    "jwk kid",
    "json web key",
    "key fingerprint",
    "jose"
  ],
  "category": "security",
  "urls": {
    "page": "https://gizza.ai/tools/jwk-thumbprint/",
    "markdown": "https://gizza.ai/tools/jwk-thumbprint/index.md",
    "descriptor": "https://gizza.ai/tools/jwk-thumbprint/tool.json",
    "deep_link_example": "https://gizza.ai/tools/jwk-thumbprint/?jwk=%7B%22kty%22%3A%22EC%22%2C%22crv%22%3A%22P-256%22%2C%22x%22%3A%22...%22%2C%22y%22%3A%22...%22%7D"
  },
  "cli": "gizza tool jwk-thumbprint '{\"kty\":\"EC\",\"crv\":\"P-256\",\"x\":\"...\",\"y\":\"...\"}'",
  "tool": {
    "description": "Compute the RFC 7638 SHA-256 thumbprint of a JSON Web Key — the canonical key identifier commonly used as a JWK 'kid'. Hashes only the required members for the key type (RSA: e,kty,n; EC: crv,kty,x,y; OKP: crv,kty,x; oct: k,kty) in lexicographic order with no whitespace, then base64url-encodes the SHA-256 digest. Returns the thumbprint, the key type, and the exact canonical JSON that was hashed. Runs locally.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "jwk": {
          "description": "The JSON Web Key (JWK) as JSON, e.g. {\"kty\":\"EC\",\"crv\":\"P-256\",\"x\":\"…\",\"y\":\"…\"}.",
          "type": "string"
        }
      },
      "required": [
        "jwk"
      ],
      "type": "object"
    }
  }
}