V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
爱意满满的作品展示区。
NeoAtlantis

BrGP: 不需其他依赖、在浏览器中实现的 OpenPGP

  •  
  •   NeoAtlantis ·
    neoatlantis · May 18, 2016 · 3256 views
    This topic created in 3635 days ago, the information mentioned may be changed or developed.

    BrGP (临时的名字,嗯)是我三个星期前忽然决定去写的一个单网页的应用,用来在浏览器上实现 OpenPGP 的功能。设想是把所有的代码、样式和图片都打包在一个单一的 html 文件中,便于分发,这样不需要安装 GnuPG ,直接访问或者下载这个页面就能立刻获得这个保护隐私的强大工具了。

    最近 openpgp.js 的开发十分活跃,这个关键的库已经比几年前大有进步,虽然好像还是只能使用 RSA 公钥,但已经提供了 PGP 的大部分功能了:数据加密 /签名,解密 /验证,密钥管理,甚至还有从 key server 检索,或者向之上传的 API 。但是虽然用这个库实现具体某些特定功能的服务很多,像 GnuPG 这样的通用工具还不多,这就是 BrGP 要补充的地方。

    BrGP 目前还很粗糙,无论是界面还是功能上:所以这个放出的预览仅仅是证明它的出生而已。。。

    食用方式有2种:

    1. 访问在线版 http://area51.neoatlantis.info/brgp
    2. 安装 Google Chrome 的扩展(也许要用开发者模式?): 下载地址对应的 PGP 签名

    两种方式中密钥环(本机存储的公钥和私钥)是分开存储的,不能通用(废话)。

    当前的功能有:

    1. 导入、导出公钥或者私钥,密钥环保存在浏览器localStorage或者 Chrome 扩展的chrome.storage.local存储中。
    2. 可以从 key server 检索并导入公钥。
    3. 比较详细地查看一个密钥,如果是私钥,可以修改密码。
    4. 可以选取一个或多个公钥,以及一个或多个私钥,构建加密和 /或签名的消息(暂不支持 clear sign )。
    5. 可以读入一个消息,进行解密和验证。

    欢迎大家测试以及提供各种脑洞~

    源码地址: https://bitbucket.org/neoatlantis/brgp

    2 replies    2016-05-18 17:56:15 +08:00
    raysonx
        1
    raysonx  
       May 18, 2016 via Android
    很有意思的东西,不过有点担心安全性。而且真正给用户用的话,要用户相信你的网页不会泄漏密钥才可以。
    最近一直在对抗运营商劫持,我在想如果劫持这个页面的 HTTP 连接会不会造成比较严重的安全的问题。
    NeoAtlantis
        2
    NeoAtlantis  
    OP
       May 18, 2016 via Android
    @raysonx 其实不放私钥只用来加密不解密也是一种玩法。否则如果不是插件,就必须用 https 。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2481 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 09:54 · PVG 17:54 · LAX 02:54 · JFK 05:54
    ♥ Do have faith in what you're doing.