Security

如何通過腳本鎖定/解鎖 gpg 硬體令牌

  • July 9, 2019

我想以gpg --card-edit; verify; quit非互動方式執行以解鎖 gpg 硬體令牌(即智能卡或 yubikey)。

我的案例是:

  1. 輸入密碼,例如通過 ssh
  2. 將其儲存在核心密鑰環中
  3. 需要時將其傳遞給硬體令牌

一種可行的解決方案是expect,我曾經autoexpect為此創建一個腳本,但它會包含使用者密碼,並且非常笨拙並且依賴於特定 gpg 版本的輸出。

scdaemon可能是一個選項,但我不確定傳遞原始命令是否是個好主意。恐怕很容易把令牌變磚。

也許有用於大規模個性化智能卡的工具/腳本可以使用?

我願意接受有關下一步嘗試的建議。謝謝!

在試驗時,我找到了一個使用gpg-connect-agent 'SCD CHECKPIN' /bye.

通過編寫一個自定義的 pinentry 程序,我可以使用 Assuan 協議注入一個靜態密鑰。

我現在必須更改這個 pinentry 程序以從核心密鑰環中讀取密鑰keyctl

引用自:https://serverfault.com/questions/974329