b2KIT

ECDSA Digital Signature Tool

Sign and verify messages with ECDSA using P-256, P-384, or P-521 curves via Web Crypto API.

Tested tool guide Tested browser tools Checked August 16, 2026

What ECDSA Digital Signature Tool does and how it behaves

ECDSA Digital Signature Tool creates and checks elliptic-curve signatures for message text with P-256, P-384, or P-521 through the browser's Web Crypto operations. Signing combines the exact message bytes with a private key; verification uses the corresponding public key and reports whether the supplied signature matches. A signature proves possession of the private key for that message, but it does not conceal the message. A frequent surprise is that signing identical text twice can produce different valid signatures because ECDSA uses a fresh per-signature value.

How the result is produced

1

Signing a message

The message is encoded as bytes and hashed as part of the ECDSA operation. The selected private key and curve produce two signature integers, conventionally named r and s. Web Crypto represents them in fixed-width IEEE P1363 form, with r followed by s, rather than the ASN.1 DER sequence used by many certificate and command-line tools.

2

Checking a signature

Verification processes the exact message again, interprets the supplied signature for the selected curve, and checks it with the public key. The result indicates validity; it does not recover the message or identify the signer. Changing one message byte, using the wrong public key, selecting incompatible parameters, or altering either signature component causes verification to fail.

Good uses

  • Create a browser-local test signature for a short payload while developing an ECDSA verification path.
  • Check whether a received P-256, P-384, or P-521 signature matches an exact message and public key.
  • Diagnose an integration failure by testing a known message, key pair, curve, and signature in isolation.

Limits and checks

  • A successful check proves only that the signature matches the message and public key. It does not establish who owns or controls that public key.
  • Message matching is byte-sensitive. Added whitespace, different line endings, character-encoding differences, or Unicode normalization can turn visually identical text into different signed data.
  • An ECDSA signature copied from another system may use ASN.1 DER instead of Web Crypto's raw r || s form. These encodings are not interchangeable without conversion.

Common questions

Why does the same message produce a different signature each time?

ECDSA signing uses a per-signature secret value, so repeated signing can yield different r and s values even when the key and message are unchanged. That is expected, and both signatures can verify successfully. No, signature equality is not a reliable way to decide whether two ECDSA operations signed the same message.

Can I paste the signature directly into OpenSSL or another verifier?

Not necessarily. Web Crypto represents an ECDSA signature as fixed-size r || s data, while many certificate and command-line workflows expect an ASN.1 DER sequence containing two integers. The curve, hash, public key encoding, and message bytes must also agree. Direct use works when the receiving system accepts IEEE P1363; if it requires DER, conversion is necessary.

References and verification

The behavioral notes were checked against the browser implementation. Standards and primary references below define the relevant format, formula, or platform behavior.

Related Tools