Tinkey 是 Tink 用于管理密钥的命令行实用程序。借助 Tinkey,您可以使用存储在远程 KMS 中的密钥加密密钥对加密密钥对,或使用密钥加密密钥对解密密钥对。Tinkey 内置了对 AWS KMS 和 Google Cloud KMS 的支持。添加对其他 KMS 的支持不需要修改 Tinkey。
安装
您可以从预构建的二进制文件中安装 Tinkey,也可以使用 Homebrew,还可以从 Tink 源代码构建 Tinkey:
预构建的二进制文件
Tinkey 的最新版本为 1.12.0(下载)。它适用于 Linux、macOS 和 Windows。
Homebrew
如需使用 Homebrew 安装 Tinkey,请运行以下命令:
brew tap tink-crypto/tink-tinkey https://github.com/tink-crypto/tink-tinkey
brew install tinkey
从来源
如需从 Tink 的源代码构建最新版本的 Tinkey,请将 Bazel 与 Bazelisk 搭配使用:
TINKEY_URL="https://github.com/tink-crypto/tink-tinkey/releases/download/v1.12.0/tink-tinkey-1.12.0.zip"
TINKEY_SHA256="425a551254847323078aaa80c0087bb228d7672e0c8663807aa06c50dcffa75a"
curl -LsS "${TINKEY_URL}" -o tinkey.zip
echo "${TINKEY_SHA256} tinkey.zip" | sha256sum -c
unzip tinkey.zip && cd "tink-tinkey-1.12.0"
bazelisk build //:tinkey
这会生成二进制文件 bazel-bin/tinkey
。
命令参考
Tinkey 可用于生成密钥并执行其他管理任务,例如加密、解密或轮替密钥。
使用表中列出的命令的语法为 tinkey <command>
[<args>]
。
命令 | 操作 |
---|---|
help |
输出所有可用命令的帮助消息。 |
add-key |
生成新密钥并将其添加到密钥集中。 |
convert-keyset |
更改密钥集格式、加密和解密密钥集。 |
create-keyset |
创建新的密钥集。 |
create-public-keyset |
从私钥集创建公钥集。 |
list-key-templates |
列出所有受支持的密钥模板。 |
delete-key |
删除密钥集中的指定密钥。 |
destroy-key |
已弃用。销毁密钥集中指定密钥的密钥材料。 (此属性已弃用:Tink 在处理包含已销毁密钥的密钥集时的行为可能取决于 Tink 版本) |
disable-key |
停用密钥集中的指定密钥。 |
enable-key |
启用密钥集中的指定密钥。 |
list-keyset |
列出密钥集中的密钥。 |
promote-key |
将指定键提升为主键。 |
rotate-keyset |
[已弃用] 添加新密钥并将其设为主密钥。
(我们建议您先添加一个具有 add-key 的新密钥,然后再使用 promote-key 明确将其设置为主密钥。在分布式系统中,需要确保新添加的密钥在每个服务器上都可用,然后才能将其提升为主密钥。) |