Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 读取并使用私钥对节点js中的数据进行签名[OpenSSL和PHP示例]_Javascript_Php_Node.js_Encryption_Pyopenssl - Fatal编程技术网

Javascript 读取并使用私钥对节点js中的数据进行签名[OpenSSL和PHP示例]

Javascript 读取并使用私钥对节点js中的数据进行签名[OpenSSL和PHP示例],javascript,php,node.js,encryption,pyopenssl,Javascript,Php,Node.js,Encryption,Pyopenssl,我一直在尝试将php代码重写为node.js,但遇到了一个问题 这是我一直坚持的PHP代码(稍加修改): 还有一件事,这个RSA-SHA256必须是带有RSA的SHA1。此示例从不生成正好128个字符的字符串。它返回一个缓冲区,无论我如何解析或转换它,我都无法达到要求。我在两个示例中使用相同的私钥 有什么想法吗 $fp = fopen($privateKeyFileName, "r"); $priv_key = fread($fp, 8192); fclose($fp); echo "P

我一直在尝试将php代码重写为node.js,但遇到了一个问题

这是我一直坚持的PHP代码(稍加修改):

还有一件事,这个
RSA-SHA256
必须是带有RSA的SHA1。此示例从不生成正好128个字符的字符串。它返回一个缓冲区,无论我如何解析或转换它,我都无法达到要求。我在两个示例中使用相同的私钥

有什么想法吗

$fp = fopen($privateKeyFileName, "r");
$priv_key = fread($fp, 8192);   
fclose($fp);

echo "PRIVATE KEY: <br/><br/>";
var_dump($priv_key);


$pkeyid = openssl_pkey_get_private($priv_key, $privateKeyPassword);

echo " <br/><br/>PRIVATE KEY ID: <br/><br/>";
var_dump($pkeyid);

openssl_sign($message, $signature, $pkeyid);
openssl_free_key($pkeyid);

echo " <br/><br/>SIGNATURE: <br/><br/>";
var_dump($signature);

$message .= $signature;

echo " <br/><br/>END MESSAGE: <br/><br/>";
var_dump($message);
function signData(data) {
    var sign = crypto.createSign('RSA-SHA256');
    sign.update(data);
    var signed = sign.sign(privateKey);
    return signed;
}