设置密钥环
Last updated
Last updated
密钥环保存用于与节点交互的私钥/公钥对。例如,在运行 Injective 节点之前需要设置验证者密钥,以便正确签名区块。私钥可以存储在不同的位置,这些位置被称为“后端”,例如文件或操作系统本身的密钥存储。
os
后端依赖于操作系统特定的默认设置来安全地处理密钥存储。通常,操作系统的凭据子系统根据用户的密码策略处理密码提示、私钥存储和用户会话。以下是最流行的操作系统及其各自的密码管理器:
macOS(自 Mac OS 8.6 起):
Windows:
GNU/Linux:
使用 GNOME 作为默认桌面环境的 GNU/Linux 发行版通常配备 。基于 KDE 的发行版通常提供 。前者实际上是 libsecret 的便捷前端,后者是 kwallet 客户端。
由于操作系统的默认凭据管理器旨在满足用户的最常见需求,并提供舒适的体验而不牺牲安全性,因此 os
是默认选项。
对于无头(headless)环境,推荐使用 file
和 pass
后端。
file
后端file 后端 将密钥环加密存储在应用的配置目录中。每次访问该密钥环时,都会要求输入密码,这可能在单个命令中多次发生,从而导致重复的密码提示。如果使用 bash 脚本通过 file 选项执行命令,您可能希望使用以下格式来处理多个密码提示:
pass
后端密码存储在首次使用之前必须进行设置:
将 <GPG_KEY_ID>
替换为您的 GPG 密钥 ID。您可以使用您的个人 GPG 密钥,或者选择一个您希望专门用于加密密码存储的替代密钥。
kwallet
后端test
后端test
后端 是 file 后端的无密码变体。密钥以未加密的形式存储在磁盘上。
仅为测试目的提供。test 后端 不推荐在生产环境中使用。
memory
后端memory
后端 将密钥存储在内存中。程序退出后,密钥会立即被删除。
仅为测试目的提供。memory 后端 不推荐在生产环境中使用。
您可以使用 injectived keys
获取有关 keys
命令的帮助,使用 injectived keys [command] --help
获取有关特定子命令的更多信息。
要在密钥环中创建新密钥,请使用 add
子命令并提供 <key_name>
参数。为了本教程的目的,我们将仅使用 test 后端,并将新密钥命名为 my_validator
。此密钥将在下一节中使用。
此命令生成一个新的 24 个单词的助记词短语,将其保存到相关的后端,并输出关于密钥对的信息。如果该密钥对将用于持有具有价值的代币,请务必将助记词短语记录在安全的地方!
默认情况下,密钥环生成一个 eth_secp256k1
密钥对。密钥环还支持 ed25519 密钥,可以通过传递 --algo ed25519
标志来创建。密钥环当然可以同时持有这两种类型的密钥。
pass 后端 使用 工具来管理密钥敏感数据和元数据的磁盘加密。密钥存储在特定应用目录中的 GPG 加密文件内。pass
可用于最流行的 UNIX 操作系统以及 GNU/Linux 发行版。有关如何下载和安装 pass
的信息,请参阅其手册页。
pass
使用 进行加密。执行时,gpg
会自动调用 gpg-agent
守护进程,后者负责缓存 GnuPG 凭据。有关如何配置缓存参数(如凭据的 TTL 和密码过期时间)的更多信息,请参阅 gpg-agent
手册页。
kwallet
后端 使用 KDE Wallet Manager,它默认安装在以 KDE 为默认桌面环境的 GNU/Linux 发行版中。有关更多信息,请参阅。