小号

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,请将 BazelBazelisk 搭配使用:

 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 明确将其设置为主密钥。在分布式系统中,需要确保新添加的密钥在每个服务器上都可用,然后才能将其提升为主密钥。)