Javascript 在aws lambda中运行时加密验证签名失败

Javascript 在aws lambda中运行时加密验证签名失败,javascript,aws-lambda,cryptojs,Javascript,Aws Lambda,Cryptojs,我正在使用nodejs crypto生成一对不对称密钥,并使用sign和verify进行api调用。当我在本地运行代码时(生成密钥、创建签名,然后使用传入的签名触发api函数),它会传递验证函数。然而,一旦它被放在aws云上并作为lambda运行,它每次都无法通过验证。我通过一个对无服务器api的postman请求生成密钥,该api触发我的create keys lambda,然后在本地运行签名创建,然后通过postman向端点发送一个带有签名的请求,端点应该对其进行验证 下面是我如何生成签名的

我正在使用nodejs crypto生成一对不对称密钥,并使用sign和verify进行api调用。当我在本地运行代码时(生成密钥、创建签名,然后使用传入的签名触发api函数),它会传递验证函数。然而,一旦它被放在aws云上并作为lambda运行,它每次都无法通过验证。我通过一个对无服务器api的postman请求生成密钥,该api触发我的create keys lambda,然后在本地运行签名创建,然后通过postman向端点发送一个带有签名的请求,端点应该对其进行验证

下面是我如何生成签名的

    const sign = crypto.createSign('SHA256');
    sign.update(Buffer.from(JSON.stringify(data)));
    sign.end();
    const signature = sign.sign(Buffer.from(privateKey), 'base64')
    return signature;
以下是验证:

let verifier = crypto.createVerify(
        "sha256"
    );
    verifier.update(Buffer.from(JSON.stringify(data)));
    verifier.end();

    //verify signature
    const verified = verifier.verify(publicKey, signature, 'base64')
传入的数据是一个包含nonce、timestamp和uuid的对象

我似乎看不出我错在哪里,任何见解都会有帮助