【问题标题】:Accessing Browser Certificate Using Forge使用 Forge 访问浏览器证书
【发布时间】:2012-04-23 12:50:39
【问题描述】:

我们正在开发一个使用 PKI 的安全应用程序。作为要求的一部分,我们需要构建一个独立于浏览器和平台的应用程序,它支持浏览器和 eToken 中的所有类型的证书。我们将这些证书用于加密和解密目的。所有与 PKI 相关的工作都应在客户端进行。

我发现了一个名为 Forge 的 javascript 库 https://github.com/digitalbazaar/forge/downloads.

代码是什么 a) 使用 forge 和 access 从浏览器获取证书列表 b) 获取证书的公开信息 c) 获取私钥对数据进行加密

【问题讨论】:

    标签: javascript security pki


    【解决方案1】:

    目前,浏览器中没有用于访问证书的 JS API。您通常可以将它们导出到 Forge 可以读取的 PKCS#12 (p12) 文件。请记住,用户绝对不希望服务器访问他们的私钥(也可以导出到 PKCS#12 容器)。

    如果您确实需要访问 JS 中的私钥并且您无权访问 WebCrypto API(大多数浏览器还没有,因为它不完整),您将不得不降低安全性。也就是说,服务器将能够访问用户的私钥——他们应该知道这一点。为此应生成新的密钥对;不应重复使用用户可能在其他地方使用的现有的。将来,JS 应该可以访问使用私钥的加密函数——而不会将密钥材料暴露给浏览器(保护它不受服务器影响)。在那之前,如果你必须使用 JS,唯一的选择是让用户在某种程度上信任服务器。 Forge 可用于生成密钥对、创建证书、创建 p12 等。

    【讨论】:

    • 嗨,5 年后,似乎还没有一种方法可以在浏览器中使用客户端证书的私钥来解密字符串......不是吗?
    猜你喜欢
    • 2015-03-19
    • 1970-01-01
    • 2021-10-02
    • 1970-01-01
    • 2012-10-13
    • 1970-01-01
    • 1970-01-01
    • 2021-08-12
    • 2023-03-10
    相关资源
    最近更新 更多