2017-04-21 2 views
0

私はECDSA符号を生成してそれを復号しなければなりません。NodeJSでPEMキーフォーマットを必要とせずにECDSAサインを生成する方法は?

私はサイズ135のサインを私に与えましたが、もう1つはサイズ70のサインを私に与えました。最初のものはペムキー(asn1js and bn modules as the answer in this link)で生成され、以下に見られることができるように '生の' 鍵(eccryptoモジュール):

const ecdsa = require('eccrypto'); 
shaMsg = crypto.createHash('sha256').update(myData).digest(); 
ecdsa.sign(privateKey, shaMsg).then(function(sig) { 
     console.log("Signature in DER format:", sig, '-------size: ', sig.length); 
     ecdsa.verify(publicKey(), msg, sig).then(function() { 
      console.log("Signature is OK"); 
     }).catch(function() { 
      console.log("Signature is BAD"); 
     }); 
    }); 

このコードの出力である:DERフォーマットで

シグネチャ:<バッファ30 44 02 20 56 5(c)61 76 A7 17 3c 67 8d 04 54 dd d5 9a 81 3a e9 1f afa6 7e 2d 34 3e 78 78 47 fb 5e 8e 9c 79 02 20 78 a4 bb f6 20 41 7c 8c 59 1b 93 43 ...> ------- size:70

別の操作を行うために私の符号を復号する必要があります。誰もこれで私を助けることができますか?

+0

*「私は2つの異なる形式で試しました」* - これらの形式は何ですか?いくつかの出力例とともに、完全な最小限のコードを表示できますか? –

+0

私はコードを書いていませんでしたが、私はそれらのフォーム "@Artjom"を教えていました: "...最初のものはpemキー(asn1jsとbnモジュール)で生成され、2番目のものは" raw "キー(eccryptoモジュール)... "できるだけ早くコードを記述します。 – Dalton

+0

更新された質問、@Artjom。 – Dalton

答えて

1

誰も助けないように、私は私が別のモジュール(楕円)を望んでいた:私は、これは他の誰かに役立ちます願ってい

var EC = require("elliptic").ec; 
var ec = new EC("secp256k1"); 

var shaMsg = crypto.createHash("sha256").update(myData.toString()).digest(); 
var mySign = ec.sign(shaMsg, privateKey, {canonical: true}); 

関連する問題