我找了很多实现RSA加解密的js库,基本都是需要先使用open-ssl命令生成RSA公私钥对。后来我使用Web Cryptography API,满足在浏览器端生成RSA公私钥对及加解密的需求。但是只能公钥加密、私钥解密,用私钥加密报错“Uncaught (in promise) DOMException: key.usages does not permit this operation”。有没有满足浏览器端生成公私钥对、公钥加密私钥解密和私钥加密公钥解密的解决方案?
大家讲道理2017-04-11 10:04:56
单纯的在浏览器做的话,DES不是同样能满足需求?因为RSA公私钥的一般的使用场景都是两端进行的,所以基本都是优先生成出来。私钥会下发给客户端或者其他方,比如接银行等都是类似的做法,不太清楚题主为何会有在浏览器做整个加解密的过程?而且还需要浏览器生成密钥对的需求。如果单纯需要浏览器进行加密敏感数据使用DES加密也足够了,因为你这样使用起来也没有利用到RSA非对称的特性,生成的私钥和公钥也都在一处进行使用。