Security
如何通過腳本鎖定/解鎖 gpg 硬體令牌
我想以
gpg --card-edit; verify; quit
非互動方式執行以解鎖 gpg 硬體令牌(即智能卡或 yubikey)。我的案例是:
- 輸入密碼,例如通過 ssh
- 將其儲存在核心密鑰環中
- 需要時將其傳遞給硬體令牌
一種可行的解決方案是
expect
,我曾經autoexpect
為此創建一個腳本,但它會包含使用者密碼,並且非常笨拙並且依賴於特定 gpg 版本的輸出。
scdaemon
可能是一個選項,但我不確定傳遞原始命令是否是個好主意。恐怕很容易把令牌變磚。也許有用於大規模個性化智能卡的工具/腳本可以使用?
我願意接受有關下一步嘗試的建議。謝謝!
在試驗時,我找到了一個使用
gpg-connect-agent 'SCD CHECKPIN' /bye
.通過編寫一個自定義的 pinentry 程序,我可以使用 Assuan 協議注入一個靜態密鑰。
我現在必須更改這個 pinentry 程序以從核心密鑰環中讀取密鑰
keyctl
。