我知道,它看起来很奇怪,但我需要在客户端使用javascript签署一些数据,没有ajax后门服务器端openssl可用。有人可以建议一些客户端解决方案使用私钥签署数据吗?有可能吗?
感谢。
答案 0 :(得分:5)
发现很棒signing tool。它实现了RSA-SHA1(完美运行)和RSA-SHA256(工作奇怪),并允许两者使用私钥生成签名并使用证书验证签名。
答案 1 :(得分:3)
我和你一样走上了同样的道路,你可能会更好地实现像oAuth这样的东西。
您提出的问题是,绝对没有可靠的方法将私钥存储在客户端计算机上,现在也没有安全地将公钥恢复到除HTTPS之外的服务器(如果您使用的话) HTTPS,这是什么意思?)
如果你真的想继续,那里有一些实现:http://shop-js.sourceforge.net/crypto2.htm
你可能想要像PersistJS(http://pablotron.org/?cid=1557)这样令人烦恼的东西尽可能地尝试保存私钥。
答案 2 :(得分:1)
W3C Web Cryptography API可能会有所帮助。 Can I use表示现代浏览器现在支持它。
要获得其他数字签名支持,请查看GlobalSign/PKI.js
PKIjs是一个实现格式的纯JavaScript库 用于PKI应用程序(签名,加密,证书请求, OCSP和TSP请求/响应)。它建立在WebCrypto(Web 密码学API)并且不需要插件。 http://pkijs.org