1
shiny 2013-09-02 16:10:17 +08:00
上 node 的代码,贴 gist。
|
2
Emory_M OP |
3
shiny 2013-09-02 16:46:56 +08:00
|
4
shiny 2013-09-02 16:47:44 +08:00
忘记贴图了:
|
6
Emory_M OP @shiny 我是这样生成 生成私钥的:openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
|
7
shiny 2013-09-02 17:07:47 +08:00
我用 ssh-keygen 重新生成了一个 test_rsa 结果一样。上传到了 debian 主机上生成也一样。
你提供的命令行看上去不是生成私钥的,而是根据私钥生成 public_key。 这是生成的 rsa: https://gist.github.com/shiny/6410836 |
8
Emory_M OP @shiny 呵呵,贴错了,是 openssl genrsa -out rsa_private_key.pem 1024
|
9
shiny 2013-09-02 17:24:36 +08:00
用这个生成的 pem 同样没问题,以下是我的版本信息:
php -v PHP 5.3.15 with Suhosin-Patch (cli) (built: Dec 9 2012 19:32:02) openssl OpenSSL support => enabled OpenSSL Library Version => OpenSSL 0.9.8x 10 May 2012 OpenSSL Header Version => OpenSSL 0.9.8r 8 Feb 2011 node -v v0.10.12 |
10
Emory_M OP @shiny
非常感谢 看来是node.js的问题 iOS的openssl库加签和php是一致的 重新编译试试 你的openssl信息是如何打印的? 我的版本如下: Debian 7.0 64Bit php -v PHP 5.4.4-14+deb7u3 (cli) (built: Jul 17 2013 14:54:08) node -v v0.10.7 OpenSSL> version OpenSSL 1.0.1e 11 Feb 2013 |
11
shiny 2013-09-02 18:20:36 +08:00
|
12
Emory_M OP @shiny 了解到原因了,如果出现ascii以外的unicode字符那么加签名 结果就不一样了,看来又是node内部编码问题了
|
13
Emory_M OP signer.update(str,'utf8') 解决
|