我的Web项目需要一个RSA密钥对,虽然有一些库我认为依靠浏览器(为了安全性和速度)为我生成密钥是个好主意。是否可以使用keygen或其他浏览器API来执行此操作?我不知道如何从keygen获取密钥。它们似乎是在提交时生成的,但我不想将它们发送到服务器。
答案 0 :(得分:3)
你可能正在寻找的东西就像Mozilla的DOMCrypt API proposal。它允许您通过window.mozCrypto.pk.generateKeypair()
生成密钥对(window.mozCrypto
以后应该更改为window.crypto
),您可以获取公钥并使用私钥加密或解密文本。它仍然不会授予您对私钥的直接访问权限,但是,您只能获得密钥ID。
不幸的是,任何浏览器都不支持此API。只有Firefox extension可用于测试它,因此该提案仍处于初期阶段。但我认为这是目前最好的。
答案 1 :(得分:2)
我发现这个site,谈论在浏览器中生成RSA密钥
答案 2 :(得分:0)
JavaScript中实现了类似SSL的协议:aSSL。
它使用RSA算法进行加密,您可以使用它们的密钥生成器。
答案 3 :(得分:-1)
我们只是说这是一个可怕的想法,因为可能会注入窃取私钥的代码。