Paperkey - Arch Linux 中文维基

跳转到内容

# Paperkey

来自 Arch Linux 中文维基
翻译状态：

- 本文（或部分内容）译自 Paperkey，最近一次同步于 2023-08-02，若英文版本有所更改，则您可以帮助同步与翻译更改的内容。
- 您可以在 ArchWiki 的对应页面找到本文翻译的原始修订历史。
- 本文可能与英文原文存在出入。

相关文章

- GnuPG

Paperkey 是一个在纸上导出 GnuPG 密钥的命令行工具。它通过从私钥中删除公钥部分来减小导出密钥的大小。Paperkey 还在密钥中包含 CRC-24 校验和，以允许用户检查其私钥是否已正确恢复。

## 安装

安装软件包 paperkey包。

## 用法

### 备份

警告：恢复纸质密钥备份时，您需要有可用的公钥！由于使公钥公开是安全的，故请考虑将其上传到公钥服务器。

要创建 GnuPG 密钥的备份，请将私钥通过管道符传输到 paperkey：

    $ gpg --export-secret-key key-id | paperkey --output secret-key-paper.asc

### 恢复私钥

要恢复密钥，您需要有一个包含 paperkey 数据和公钥的文件。然后运行以下命令将私钥导入 `~/.gnupg`：

    $ paperkey --pubring public-key.gpg --secrets secret-key-paper.asc | gpg --import

或者，将私钥恢复到一个文件：

    $ paperkey --pubring public-key.gpg --secrets secret-key-paper.asc --output secret-key.gpg

#### Error: unable to parse OpenPGP packets (is this armored data?)

如果在恢复密钥时收到此错误，则需要先解除（dearmor）公钥：

    $ gpg --dearmor public-key.asc

## 提示和技巧

### 直接打印私钥

如果没有说明 `--output` 参数，paperkey 会将其输出打印到 `stdout`。可以直接打印密钥而无需中间文件，这可能会产生安全隐患。为此，请安装 CUPS，并通过管道符传输到 `lpr`：

    $ gpg --export-secret-key key-id | paperkey | lpr

### 将私钥转换成二维码

默认情况下，paperkey 会将密钥输出为可读的文本格式。虽然这种格式保证了有能力读取和恢复已打印出的信息，但它不是很方便。`--output-type raw` 选项告诉 paperkey 要输出原始（raw）密钥数据。这允许了其他编码方式的使用，包括计算机可读的编码，例如二维码。

qrencode包 程序可以这样使用：

    $ gpg --export-secret-key key-id | paperkey --output-type raw | qrencode --8bit --output secret-key.qr.png

可以使用 `--level H` 选项将纠错级别提升到最大值。这可以恢复约 30% 的丢失数据，但代价是减少了二维码的容量。如果密钥不适合（高纠错级别的）二维码，也可以使用较低的 `Q` 和 `M` 纠错级别，恢复率分别约为 25% 和 15%。默认纠错级别为 `L`，允许恢复约 7% 的丢失数据。

### 从二维码恢复私钥

使用 zbar包，可以使用相机恢复密钥：

    $ zbarcam -1 --raw -Sbinary | paperkey --pubring public-key.gpg | gpg --import

相同的选项也适用于 `zbarimg`：

    $ zbarimg -1 --raw -q -Sbinary secret-key.qr.png | paperkey --pubring public-key.gpg | gpg --import

提示：使用 `-q` 选项运行 zbarimg 会在打印解码数据后禁止打印其状态文本。不使用该选项，传递到 paperkey 中的数据可能会被污染。

如果您使用的是扫描的图像，则可能必须通过此命令对其进行模糊处理。

    $ convert secret-key.qr.png -blur 0 secret-key-blurred.qr.png

分类：​

- 加密

Paperkey
添加话题