OpenPGP
创建或导入你的 OpenPGP 密钥,添加通信对象的公钥,并了解 FOLD 接受哪些算法。
FOLD 在 Mac、iPhone 和 iPad 上读写 PGP/MIME。私钥属于某一个账户;通信对象的公钥则供所有账户使用。
你的密钥
创建密钥。 在 Mac 上,打开设置(⌘,)> 安全 > 签名密钥,选择账户,然后使用或者:生成新密钥。在 iPhone 和 iPad 上,轻点你的账户头像,然后轻点安全与隐私 > PGP 密钥 > 生成密钥。FOLD 会创建一个 Ed25519 签名密钥和一个 Curve25519 加密子密钥。密码短语无法找回。Mac 会显示你的公钥(用于共享),以便发送给他人。
导入密钥。 在 Mac 上粘贴 ASCII 封装的私钥(BEGIN PGP PRIVATE KEY BLOCK),或在 iPhone 和 iPad 上导入文件。FOLD 使用 Ed25519 或 RSA 密钥签名。
私钥以受密码短语保护的 OpenPGP 形式(S2K)保存在本设备的钥匙串中,从不同步。FOLD 创建的密钥使用迭代加盐的 S2K(SHA-256)和 AES-256 保护。在 Mac 上,在钥匙串中记住密码短语是可选的;如果不开启,FOLD 会在你发送时询问密码短语。iPhone 和 iPad 始终会存储它。
通信对象的密钥
在 Mac 上,设置 > 安全 > PGP 密钥提供选取密钥文件…(.asc 或 .gpg,可一次选择多个)、粘贴文本和从 GnuPG 导入(pubring.kbx)。使用最后一项时,选择 ~/.gnupg/pubring.kbx(⌘⇧G 可打开路径栏),然后选取要导入的密钥。在 iPhone 和 iPad 上,使用导入公钥导入 ASCII 封装的 .asc 文件。
FOLD 不会在密钥服务器上或通过 WKD 查找密钥,也不会导入邮件中附带的密钥。
撰写时
一旦收件人变成胶囊,FOLD 就会检查该地址是否有 OpenPGP 密钥或 S/MIME 证书,并为胶囊着色。开启加密后,颜色会变化,表示邮件将为该收件人加密。签名和加密开关的工作方式如 S/MIME 页面所述;当每位收件人都有密钥时,FOLD 优先使用 OpenPGP。
加密邮件使用 AES-256,并带有强制的完整性校验(MDC),这是兼容性最广的格式。主题和其他邮件头不加密。
阅读时
只要密码短语存储在钥匙串中,FOLD 就会自动解密 PGP/MIME 和内联 PGP 邮件。否则,邮件会显示加密邮件,而不是其内容;阅读器目前还不会询问密码短语。
如果你有发件人的公钥,FOLD 会检查 PGP/MIME 邮件的签名:已验证 ✓、有效,证书不属于发件人(该密钥不属于发件人的地址)或签名无效。内联签名(BEGIN PGP SIGNED MESSAGE)不会被检查。
算法
接受:Ed25519 和 RSA 签名;Curve25519(ECDH)和 RSA 加密密钥;AES-128、AES-192 和 AES-256;SHA-256、SHA-384 和 SHA-512;带完整性保护的加密数据(MDC 或 GnuPG 的 OCB 模式);ZIP 和 ZLIB 压缩。
拒绝:CAST5、IDEA、Blowfish、3DES、MD5;SHA-1 邮件签名;不带完整性保护的加密数据;完整性校验失败的邮件;BZip2 压缩。SHA-1 仅在密钥自身的自签名中被接受。