İçeriğe geç

ECDSA İmzalama / Doğrulama

Eliptik eğri açık/gizli anahtarları ile hızlı ve hafif dijital imza kontrolü.

FIPS 186-4

Parametreler: ECDSA P-256, SHA-256.

Araç hakkında

İmzalama ve doğrulama

İmzalama modunda mesaj ve PKCS#8 özel anahtar, doğrulama modunda mesaj, SPKI açık anahtar ve Base64 imza girilir. Algoritma ECDSA, eğri P-256, hash SHA-256’dır (JWT’deki ES256 ile aynı).

ECDSA her imzada rastgele bir değer (k) kullanır; aynı mesajın imzaları her seferinde farklıdır. Web Crypto bu değeri güvenli üretir. Aynı k’nin iki farklı mesajda kullanılması özel anahtarı açığa çıkarır; PlayStation 3 anahtarı bu hatayla ele geçirilmişti.

İmza biçimi: r||s ve DER

Web Crypto, imzayı 64 baytlık ham r || s biçiminde (IEEE P1363) üretir. OpenSSL, Java ve X.509 ise ASN.1 DER biçimini (genellikle 70–72 bayt) kullanır. JWT (ES256) ham biçimi kullandığı için bu araçla uyumludur; OpenSSL ile karşılaştırırken biçim dönüşümü gerekir.

Sık sorulan sorular

OpenSSL ile ürettiğim imza neden geçersiz görünüyor?

OpenSSL ECDSA imzalarını DER biçiminde üretir. Bu araç 64 baytlık ham r||s bekler; DER imzadaki r ve s tamsayılarını 32’şer bayta tamamlayıp birleştirmeniz gerekir.

Kaynaklar