RSA Signature Generator & Verifier

RSA Signature Generator & Verifier: Computes SHA-256 digest of data, applies RSA private key signing exponent, and verifies signature with public key.

Rsa Sign Verify · Client runtimeSandboxed
Formatted results will render here in real time.

About this rsa signature generator & verifier

Computes SHA-256 digest of data, applies RSA private key signing exponent, and verifies signature with public key Runs entirely in-memory using Web Crypto primitives to keep sensitive tokens, certificates, and cryptographic keys secure from third-party interception.

Encoding & cryptographic principles

Uses Web Crypto RSASSA-PKCS1-v1_5 with SHA-256 to sign supplied text with a private JWK or verify a supplied Base64 signature with a public JWK. It does not establish certificate trust or manage key storage.

Worked verification example

Scenario: Verify a fixed RSASSA-PKCS1-v1_5/SHA-256 signature over a test document with a supplied public JWK.

Sample input:

{"operation":"verify","message":"Signed Document v1.0","signature":"R0JzJpNHpUlBBVAgz0JklVQHl6O2B7x0YPE48naCg0ER9bND3Wt0HKHqyhnAFRa9PmZTEyxgVP1pZI8xrpiOTkf+ORmDr93pUgH+M3fjTKgrXmgIQfANQA8EL7XoDMifoa8v0LAjXarntQTUFTSS6PYEONqSrQvHofA/HBuCTcL8oroKpKTcAJrmUlGC9293HbSVpL7sjEGtLlAFw3OM0RnYP6OAShuO0dkTBEL4wsZG0qtb3+zGvNT8geShq9ClgBfrd4o5vmJo52PgrSZSaa+CV3J8upMwHj+WSLo/+3L+RWLW1XDOu8LDMVyK/Hc8gaxuSmaSVrE8LjGy/oNS1w==","publicJwk":{"key_ops":["verify"],"ext":true,"alg":"RS256","kty":"RSA","n":"oxgSN0j7JepYpvNQY1CxyVGDTsqUtAGE-ZfrYziVT1_vZghC_17SIPiZ4LO4tUPIsr_xhxgZhTwWh4vUCCcT-ou_EoOjIV29HAFdnF-9yhMFi8Sg2KJTs4Iq_OGwK2MNyUxG16F1YZlmpktWKOAIGYbPP4RkZdcgem1gm_A15-pxmgOAjAe31xE-sAEWyVa1oIdFrL7QsBbfnO0Wyu_PWqf9745529CWHgWEfmQB939MnceS_laIpP0EAVbXPsHOKtKjt6YdqHAyuXkew6APvmspOboCdSSa36CA7Yc0H9Jpxc2-vFoFiDuuS1tsYIfbJKNVrfNkmuiGVrowmkZ4Sw","e":"AQAB"}}

Processing: Checks the supplied signature over the exact message with the public JWK; this verify example does not use a private key or establish signer identity.

Illustrative output:

{ "algorithm": "RSASSA-PKCS1-v1_5-SHA256", "operation": "verify", "valid": true }

Security parameters & input constraints

Encryption RSA-OAEP JWKs are distinct and cannot serve as the signing pair. A valid signature only proves key/message correspondence, not signer identity, certificate trust or timestamp. The private JWK is visible in the input.

Cryptographic digests, encoded strings, and signatures generated by RSA Signature Generator & Verifier should be verified against target authentication systems before production use.

Client-side Web Crypto boundary

Key derivation, hashing, and encoding in RSA Signature Generator & Verifier execute in local memory using Web Crypto APIs without remote socket transmission.

Cryptographic specifications & RFC standards

Technical specifications and cryptographic RFC standards governing algorithms and key representations:

RSA Signature Generator & Verifier verification · Audit standards

How to use it

  1. Use signing JWKs from the RSA key generator; enter JSON with message, privateJwk and operation sign.
  2. Sign locally with Web Crypto RSASSA-PKCS1-v1_5-SHA-256 and read Base64 signature.
  3. For verify, supply the same message, signing publicJwk and signature; read valid.

Frequently asked questions

Which signing operation and fields are accepted?+

`operation` defaults to `sign` only when missing or `null`; empty and unknown values are rejected. Signing requires `privateJwk`; verification requires `publicJwk` and base64 `signature`. The message is formed as `String(message || "")`.

How do I sign and verify a message?+

Use `signingPrivateJwk` from RSA Key Generator in `{ "operation": "sign", "privateJwk": { ... }, "message": "abc" }`. Copy the returned `signature`, then use the matching `signingPublicJwk` in `{ "operation": "verify", "publicJwk": { ... }, "message": "abc", "signature": "..." }`; it returns `true`.

Can an RSA-OAEP encryption key sign?+

No. Signing imports the separate RSASSA-PKCS1-v1_5 SHA-256 pair. RSA-OAEP encryption JWKs carry different key operations.

When does verification return false?+

It returns `false` when a successfully imported key and decodable signature do not match the message. Invalid base64, an unsupported key, or a JWK import failure instead raises an error.