【问题标题】:What is the browser support for the "digitalbazaar/forge" lib (native JavaScript TLS implementation)浏览器对“digitalbazaar/forge”库的支持是什么(原生 JavaScript TLS 实现)
【发布时间】:2014-10-15 08:01:20
【问题描述】:

我正在使用digitalbazaar/forge JS 库,但我在任何地方都找不到浏览器支持的内容。有人知道吗?

【问题讨论】:

  • AFAIK,这并不是真正为浏览器内使用而设计的:例如,您将无法正确验证证书,并且可能没有合适的 PRNG。
  • 嗯,我看到它确实尝试回退到新的浏览器 PNRG 本地方法,如果不存在,则需要一些浏览器元数据来为 Math.rnd 播种。所以我猜他们确实看过它
  • 尽管如此,从 UI 的角度来看,您无法确定证书就是它所说的那样。在浏览器中,所有旨在指示通信是否安全的内容都超出页面范围,原因是:您不应该呈现带有类似标志的虚假页面。

标签: javascript ssl encryption


【解决方案1】:

经过一番挖掘,我们发现 forge 使用了 window.JSONObject.create 以及其他更多的 ECMAScript 5 内容。这意味着开箱即用的 lib 在 IE7 及更低版本中不起作用。

我们包含了两个垫片:ES5-shimJson3,在这些垫片到位后,代码运行没有任何问题。

我不确定@bruno 的 cmets(见上文)对于我们的用例是否有效(我们不使用 TLS 本身,而是使用 lib 中的其他加密内容),但尊重从它开始,它似乎可以在我们测试过的所有浏览器(IE6 及更高版本、chrome、firefox、mobile safari、mobile android 和opera mini)上运行。

在旧浏览器中更糟糕的是 PRNG 种子的熵,因为它们没有强大的本机熵源,这使得加密在这些浏览器中的安全性大大降低。

【讨论】:

    猜你喜欢
    • 2014-12-31
    • 1970-01-01
    • 2010-10-27
    • 1970-01-01
    • 1970-01-01
    • 2012-04-03
    • 2016-03-08
    • 2010-09-14
    相关资源
    最近更新 更多