Tinkey 是 Tink 用於管理金鑰的指令列公用程式。您可以使用儲存在遠端 KMS 中的金鑰加密金鑰,透過 Tinkey 加密或解密金鑰組。Tinkey 有 內建支援 AWS KMS 和 Google Cloud KMS。新增對其他 KMS 的支援 且不需修改 Tinkey
安裝
您可以從預先建構的二進位檔安裝 Tinkey、使用 Homebrew,或從 Tink 來源建構 Tinkey:
預先建構的二進位檔
最新版本的 Tinkey 為 1.11.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/archive/refs/tags/v1.11.0.zip"
TINKEY_SHA256="d89cdcf90e77887017d938e96f4a6144d54ed8f98788f15efcf8c31195474a9d"
curl -LsS "${TINKEY_URL}" -o tinkey.zip
echo "${TINKEY_SHA256} tinkey.zip" | sha256sum -c
unzip tinkey.zip && cd "tink-tinkey-1.11.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 將其設為主要執行個體於
分散式系統需要確保新加入的金鑰可供使用
,然後再升級為主要伺服器)。 |