Tinkey 是 Tink 用于管理密钥的命令行实用程序。借助 Tinkey,您可以使用存储在远程 KMS 中的密钥加密密钥对加密密钥对,也可以使用密钥加密密钥对解密密钥对。Tinkey 内置了对 AWS KMS 和 Google Cloud KMS 的支持。
安装
您可以从预构建的二进制文件中安装 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明确将其设置为主密钥。在分布式系统中,需要确保新添加的密钥在每个服务器上都可用,然后才能将其提升为主密钥。) | 
