Yaron Naveh
Yaron Naveh

Reputation: 24396

node.js digital signature does not work

I am trying to generate a digital signature using the crypto module for node.js (0.6.15). The following code prints nothing (on both a windows and a linux machine) and res is of length 0. Also signer never throws an exception no matter what dummy input I give as key. openssl is installed in version 1.0.1. What am I doing wrong?

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);

Upvotes: 3

Views: 1057

Answers (1)

Yaron Naveh
Yaron Naveh

Reputation: 24396

As Ben Noordhuis tells me here the key used above is not in the correct format. it is best to load the pem format from disk.

Upvotes: 1

Related Questions