使用jsrsasign.jws.JWS.sign时出现Node.js错误 - undefined不是函数

时间:2015-08-17 17:09:27

标签: node.js

我正在使用jsrsasign签署身份令牌。我收到以下错误:

  

错误:init失败:TypeError:undefined不是函数

这是我的代码:

var express = require('express');
var bodyParser = require('body-parser')

var fs = require('fs')
var jsrsasign = require('jsrsasign');
var app = express();

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));

app.post('/authenticate', function(req, res) {

  //create header, claim, and read privateKey from a file    
  .....

  var jws = null;
  try {
    jws = jsrsasign.jws.JWS.sign("RS256", header, claim, privateKey);
  } catch(e) {
    return res.status(500).send('Could not create signature. Error: ' + e + '\n Header: ' + header + '\n Claim: ' + claim + "\n PrivateKey: \n" + privateKey);
  }

变量 - header,claim和privateKey - 都有一个值。 jsrsasign.jws.JWS.sign是失败的部分。

在理解这个错误的含义时,我将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

我解决了这个问题。

我改变了从文件中读取私钥的方式。

privateKey = fs.readFileSync('keys/layer-key.js');

privateKey = fs.readFileSync('keys/layer-key.js').toString();