zysam / blog

7 stars 0 forks source link

node 升级遇到 crypto 模块出错的问题 #13

Open zysam opened 8 years ago

zysam commented 8 years ago

重构第三方代付服务时,遇到 block ,就是 node 的加解密模块 crypto 加密报错。

ps: 前人对接时, 是这么处理的:

嗯。这个 bug 来虐我了!!!

报错是:

最后 google 关键字才找到:nodejs crypto changelog 0.10 与 4.x版本变更说明

找到 commit 与 unit test

关键代码:

删掉 RSA 即可。

block 主要原因,还是 crypto 不熟悉,包括不限于:

待补完以上不足,再续!

zysam commented 8 years ago

关于 node 的加密算法, 这篇文章已介绍得很好了。就不再啰嗦! http://blog.fens.me/nodejs-crypto/

另外,通过一个在线工具,更好地理解 RAS 加密算法中的 PKCS#1 与 PKCS#8 http://tool.chacuo.net/cryptrsaprikey

阮一峰讲 RSA 原理: http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html http://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html

P.S. 另外,RSA 用来做签名试用。但加密解密没试过。待续。

zysam commented 8 years ago

微服务中是否存放密钥?

  1. 应用与微服务各存放一半密钥,如果微服务被 hack, 至少不会泄露与商家之间的接口,引发损失。
  2. 微服务存放密钥,如果微服务被 hack,应用也会被 hack,该泄密的都会泄密。

所以,1 是没必要的。但如果泄露的是git托管呢?但也会连坐其它应用。所以还是选2。

zysam commented 8 years ago

支持的加密算法

image