自GnuPG 2.2.6起,有一個隱藏的 key-edit子命令“ change-usage”正是這樣做的。 相關的提交。
讓我們嘗試使用帶有測試密鑰的此子命令。讓我們首先創建一個:
mkdir / tmp / gpg-change-usagechmod 700 / tmp / gpg-change-usagegpg --homedir / tmp / gpg-change-usage --quick-generate-密鑰someone@example.com rsa4096 cert 1d
現在請注意,此新密鑰是僅用於認證的主密鑰。
$ gpg --homedir / tmp / gpg-change-usage -k / tmp / gpg-change-usage / pubring.kbx ------------------------------ --- pub rsa4096 2019-04-04 [C] [過期:2019-04-05] 987BE3D9CF90B1C912A165734EBF4D26A937DE4Cuid [ultimate] someone@example.com
更改用法很簡單,如下所示:
$ gpg --homedir / tmp / gpg-change-usage --edit-key someone@example.com gpg(GnuPG)2.2.12;版權所有(C)2018自由軟件基金會,這是免費軟件:您可以自由更改和重新分發它。在法律允許的範圍內,沒有擔保。提供秘密密鑰。sec rsa4096 / 4EBF4D26A937DE4C創建於:2019- 04-04到期時間:2019-04-05用法:C信任:最終有效性:Ultimate [ultimate](1)。 someone@example.comgpg> change-usage更改主密鑰的用法。RSA密鑰的可能動作:簽名認證加密身份驗證當前允許的動作:認證(S)切換簽名功能(E)切換加密功能(A)切換認證能力(Q)已完成您的選擇? RSA密鑰可能採取的措施:簽名認證加密驗證當前允許的操作:簽名認證(S)切換簽名功能(E)切換加密功能(A)切換認證功能(Q)完成您的選擇? qsec rsa4096 / 4EBF4D26A937DE4C創建於:2019-04-04到期:2019-04-05用法:SC信任:最終有效期:最終[最終](1)。 someone@example.comgpg>保存
現在請注意,我們的密鑰已獲得簽名功能。
$ gpg --homedir / tmp / gpg-change-usage -k / tmp / gpg-change-usage / pubring.kbx- -------------------------------- pub rsa4096 2019-04-04 [SC] [過期:2019-04-05 ] 987BE3D9CF90B1C912A165734EBF4D26A937DE4Cuid [最終] someone@example.com
就是這樣!