必要なのは、ECDSAの秘密鍵と公開鍵のペアを取得することだけです。スタンフォードJavascript暗号ライブラリは非標準的な方法でそれを行い(https://groups.google.com/forum/?fromgroups#!topic/sjcl-discuss/UaWUyMWS3Rs)、それは私には役に立たない-他のすべてに異なる結果を与えるMD5ライブラリ?
JavaScriptでECDSAを使用する実際の実用的な方法はありますか?
必要なのは、ECDSAの秘密鍵と公開鍵のペアを取得することだけです。スタンフォードJavascript暗号ライブラリは非標準的な方法でそれを行い(https://groups.google.com/forum/?fromgroups#!topic/sjcl-discuss/UaWUyMWS3Rs)、それは私には役に立たない-他のすべてに異なる結果を与えるMD5ライブラリ?
JavaScriptでECDSAを使用する実際の実用的な方法はありますか?
jsrsasign 4.0.0は、EC秘密鍵と公開鍵を使用したECDSA署名と検証をサポートするようになりました。
http://kjur.github.io/jsrsasign/
これはあなたのニーズを満たしていると思います。こちらがデモページです。
まず、リンク先のコメントは、キーペアではなく、ECDSA署名の形式について説明しています。第二に、それは少し誤解を招くです:
ECDSAアルゴリズムからの出力は、区間[1、n-1]の2つの整数です。ECDSA標準(FIPS 183-3)は、この数値のペアをバイトの配列としてエンコードする標準的な方法を指定していません。
1つの方法は、ASN.1SEQUENCEに数値をカプセル化することです。これは、ANSIX9.62およびRFC3278で指定されている方法です。これは、Javaおよび(AFAIR)Microsoft CNG/.NETからの標準出力です。
もう1つの方法は、数値にゼロを左パディングして、それらがと同じバイト長になるようにしてから、n
それらを連結することです。これは、PKCS#11およびほとんどのスマートカードの実装によって行われます。
ソースコードを正しく読み取ると、SJCLは2番目の方法でECDSA署名をエンコードします。この形式を最初の形式に簡単に変換できます。