2012-05-12 13 views
3

node.js(0.6.15)用の暗号モジュールを使用してデジタル署名を生成しようとしています。次のコードは何も表示しません(ウィンドウとLinuxマシンの両方で)。resは長さが0です。また、私がキーとして与えるダミー入力に関係なく、署名者は例外をスローしません。 opensslはバージョン1.0.1にインストールされています。私は間違って何をしていますか?ベンNoordhuisとしてnode.jsデジタル署名が機能しません

var crypto = require('crypto'); 
var signer = crypto.createSign("RSA-SHA1") 
signer.update("sign me!") 

//dummy key 
var private_key = "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAL4vpoH3H3byehjj" + 
    "7RAGxefGRATiq4mXtzc9Q91W7uT0DTaFEbjzVch9aGsNjmLs4QHsoZbuoUmi0st4" + 
    "x5z9SQpTAKC/dW8muzacT3E7dJJYh03MAO6RiH4LG34VRTq1SQN6qDt2rCK85eG4" + 
    "5NHI4jceptZNu6Zot1zyO5/PYuFpAgMBAAECgYAhspeyF3M/xB7WIixy1oBiXMLY" + 
    "isESFAumgfhwU2LotkVRD6rgNl1QtMe3kCNWa9pCWQcYkxeI0IzA+JmFu2shVvoR" + 
    "oL7eV4VCe1Af33z24E46+cY5grxNhHt/LyCnZKcitvCcrzXExUc5n6KngX0mMKgk" + 
    "W7skZDwsnKzhyUV8wQJBAN2bQMeASQVOqdfqBdFgC/NPnKY2cuDi6h659QN1l+kg" + 
    "X3ywdZ7KKftJo1G9l45SN9YpkyEd9zEO6PMFaufJvZUCQQDbtAWxk0i8BT3UTNWC" + 
    "T/9bUQROPcGZagwwnRFByX7gpmfkf1ImIvbWVXSpX68/IjbjSkTw1nj/Yj1NwFZ0" + 
    "nxeFAkEAzPhRpXVBlPgaXkvlz7AfvY+wW4hXHyyi0YK8XdPBi25XA5SPZiylQfjt" + 
    "Z6iN6qSfYqYXoPT/c0/QJR+orvVJNQJBANhRPNXljVTK2GDCseoXd/ZiI5ohxg+W" + 
    "UaA/1fDvQsRQM7TQA4NXI7BO/YmSk4rW1jIeOxjiIspY4MFAIh+7UL0CQFL6zTg6" + 
    "wfeMlEZzvgqwCGoLuvTnqtvyg45z7pfcrg2cHdgCXIy9kErcjwGiu6BOevEA1qTW" + 
    "Rk+bv0tknWvcz/s=" 

var res = signer.sign(private_key, output_format='base64') 
console.log(res); 

答えて

1

上で使用したキーが正しい形式ではありませんhere言われます。ディスクからpem形式を読み込むのが最善です。