【问题标题】:Creating RSA signature using node.js and verifying using python使用 node.js 创建 RSA 签名并使用 python 进行验证
【发布时间】:2016-03-09 17:06:42
【问题描述】:

我正在尝试使用此代码在节点中创建签名:

var crypto = require('crypto');

var data = 'some data'
var signer = crypto.createSign('RSA-SHA256');
signer.write(data, 'base64');
signer.end();
var signature = signer.sign(privateKey, 'base64');

签名和数据被发送到python服务器。

现在我想使用 python 代码验证它:

from base64 import b64decode, b64encode  
from Crypto.Hash import SHA256
from Crypto.PublicKey import RSA
from Crypto.Signature import PKCS1_v1_5

rsakey = RSA.importKey(public_key)
signer = PKCS1_v1_5.new(rsakey)                     
digest = SHA256.new()                               
digest.update(data)                      
signer.verify(digest, b64decode(signature))

验证失败。 当我使用相同的语言进行签名和验证时,它可以工作。 有什么想法吗?

【问题讨论】:

    标签: python node.js digital-signature


    【解决方案1】:

    我遇到了同样的问题,并且发现它可以工作:

    import rsa
    rsa.verify(message, signature, public_key)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-14
      • 1970-01-01
      • 2012-01-16
      • 1970-01-01
      • 2011-09-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多