RSA-PSS • RSA-PKCS1v15 • ECDSA P-256/P-384/P-521 • Ed25519  |  Auto-detect algorithm

Digital Signature Verifier

Verify RSA-PSS, RSA-PKCS1v15, ECDSA P-256/P-384/P-521 and Ed25519 digital signatures with any PEM public key. Auto-detects algorithm from the key type.

Message encoding:
Signature encoding:

What is a digital signature?

A digital signature is a cryptographic mechanism that proves a message was created by a specific sender and has not been altered. It provides authenticity, integrity, and non-repudiation.

The signer uses their private key to create the signature. Anyone with the corresponding public key can verify it — which is what this tool does.

Supported algorithms

AlgorithmKey typeHashUse caseStatus
SHA256withRSARSASHA-256TLS certificates, code signing, JWT HS256Recommended
SHA256withRSA-PSSRSASHA-256Modern RSA signing — more secure than PKCS1v15Preferred
SHA256withECDSAEC P-256SHA-256TLS, JWT ES256, code signingRecommended
SHA384withECDSAEC P-384SHA-384High-security, FIPS compliantRecommended
Ed25519Ed25519SHA-512SSH, TLS 1.3, OpenPGP modernRecommended
SHA1withRSARSASHA-1Legacy systems onlyLegacy

RSA-PKCS1v15 vs RSA-PSS

PKCS#1 v1.5 (SHA256withRSA) is the older standard, still widely used but has known theoretical weaknesses. PSS (Probabilistic Signature Scheme) is the modern, provably secure RSA signature scheme. NIST recommends PSS for new applications.

How to verify using OpenSSL

# Verify RSA SHA256 signature
openssl dgst -sha256 -verify public.pem -signature sig.bin message.txt

# Verify ECDSA SHA256 signature
openssl dgst -sha256 -verify ec-public.pem -signature sig.der message.txt

# Verify Ed25519 signature
openssl pkeyutl -verify -inkey public.pem -pubin -sigfile sig.bin -in message.txt

References

  1. RFC 8017 — PKCS#1 v2.2 (RSA Cryptography Standard)
  2. RFC 6979 — Deterministic ECDSA
  3. RFC 8032 — Edwards-Curve Digital Signature Algorithm (Ed25519)