4

必要なのは、ECDSAの秘密鍵と公開鍵のペアを取得することだけです。スタンフォードJavascript暗号ライブラリは非標準的な方法でそれを行い(https://groups.google.com/forum/?fromgroups#!topic/sjcl-discuss/UaWUyMWS3Rs)、それは私には役に立たない-他のすべてに異なる結果を与えるMD5ライブラリ?

JavaScriptでECDSAを使用する実際の実用的な方法はありますか?

4

2 に答える 2

7

jsrsasign 4.0.0は、EC秘密鍵と公開鍵を使用したECDSA署名と検証をサポートするようになりました。

http://kjur.github.io/jsrsasign/

これはあなたのニーズを満たしていると思います。こちらがデモページです。

http://kjur.github.io/jsrsasign/sample-ecdsa.html

于 2013-07-18T21:59:17.103 に答える
0

まず、リンク先のコメントは、キーペアではなく、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署名をエンコードします。この形式を最初の形式に簡単に変換できます。

于 2013-01-06T19:52:03.613 に答える