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,請搭配 Bazelisk 使用 Bazel:
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 明確將其設為主要金鑰。在分散式系統中,您必須先確保每個伺服器都有新加入的金鑰,才能將其升級為主要金鑰。 |