{
  "slug": "rsa-verify",
  "name": "gizza-ai/rsa-verify",
  "version": "0.1.0",
  "title": "RSA Verify — Verify an RSA signature (PKCS#1 / PSS) — gizza.ai",
  "description": "Verify an RSA signature (PKCS#1 v1.5 or PSS, SHA-256/384/512) over a message against an RSA public key, in your browser. Nothing is uploaded.",
  "tags": [
    "rsa verify",
    "verify rsa signature",
    "pkcs1",
    "rsa pss",
    "signature verification",
    "crypto"
  ],
  "category": "security",
  "urls": {
    "page": "https://gizza.ai/tools/rsa-verify/",
    "markdown": "https://gizza.ai/tools/rsa-verify/index.md",
    "descriptor": "https://gizza.ai/tools/rsa-verify/tool.json",
    "deep_link_example": "https://gizza.ai/tools/rsa-verify/?message=The%20original%20message%20that%20was%20signed&signature=The%20base64-encoded%20signature%20to%20verify&public_key=-----BEGIN%20PUBLIC%20KEY-----%0A...%0A-----END%20PUBLIC%20KEY-----&scheme=pkcs1v15&hash=sha256"
  },
  "cli": "gizza tool rsa-verify \"The original message that was signed\" 'signature=The base64-encoded signature to verify' 'public_key=-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----'",
  "tool": {
    "description": "Verify an RSA signature over a message against an RSA public key, returning whether it is valid (true/false). scheme=pkcs1v15 (default, RSASSA-PKCS1-v1_5) or pss (RSASSA-PSS); hash=sha256 (default), sha384, or sha512 — these must match how the signature was produced. The signature is base64-encoded; the public key is PEM-encoded (SPKI or PKCS#1). Runs locally — the inputs never leave the device.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "hash": {
          "default": "sha256",
          "description": "Digest algorithm the message was hashed with before signing (default sha256).",
          "enum": [
            "sha256",
            "sha384",
            "sha512"
          ],
          "type": "string"
        },
        "message": {
          "description": "The original message that was signed.",
          "type": "string"
        },
        "public_key": {
          "description": "The signer's RSA public key, PEM-encoded (SPKI '-----BEGIN PUBLIC KEY-----' or PKCS#1 '-----BEGIN RSA PUBLIC KEY-----').",
          "type": "string"
        },
        "scheme": {
          "default": "pkcs1v15",
          "description": "Signature scheme the signature was produced with: pkcs1v15 (default) or pss.",
          "enum": [
            "pkcs1v15",
            "pss"
          ],
          "type": "string"
        },
        "signature": {
          "description": "The signature to verify, base64-encoded.",
          "type": "string"
        }
      },
      "required": [
        "message",
        "signature",
        "public_key"
      ],
      "type": "object"
    }
  }
}