Gpg
除非 pinentry 程序,否則如何配置 gpg2 以傳遞智能卡 PIN?
我的配置:
- 美分 6.5
- gnugp2-2.0.14-6.el6_4.x86_64
- gnupg2-smime-2.0.14-6.el6_4.x86_64
我配置
gpg2
為在智能卡 gnupg V2.0 中使用我的簽名密鑰。我將我的 gpg 簽名密鑰導入了 rpm 儲存。我需要使用
rpm --addsign myApp.rpm
.它工作正常,但
rpm
提示輸入智能卡 PIN 一次,並且gpg2
(使用pinentry
程序)提示輸入智能卡 PIN 三次。我希望
rpm --addsign
將 PIN(進入第一個提示)傳遞給gpg2
並且gpg2
不會再次詢問 PIN。是否有可能只有一個提示來簽署 rpm 包
gpg2
?
為了記憶體引腳,您需要執行
gpg-agent
並且您的卡不應該forcesig
設置位。AFAIK,預設情況下,這些卡附帶了 forcesig 位設置,這更安全。您可以使用
gpg --card-edit command
並查找條目簽名 PIN 來查看此內容。根據手冊:簽名密碼
當設置為“強制”時,gpg 請求為每個簽名操作輸入一個 PIN。當設置為“非強制”時,只要卡沒有從讀卡器中取出,gpg 就可以記憶體 PIN。
您可以使用以下方法更改位:
$ gpg --card-edit .... gpg: detected reader `MSI StarReader SMART [Smart Card Reader Interface]' Version ..........: 2.0 Manufacturer .....: ZeitControl Serial number ....: 0000201C Name of cardholder: Anthony van der Neut Language prefs ...: en Sex ..............: please URL of public key : http://anthon.home.xs4all.nl/publickey.asc Login data .......: anthon Private DO 1 .....: [not set] Private DO 2 .....: [not set] Signature PIN ....: forced <<<<< this is what should not be 'forced' Key attributes ...: 2048R 2048R 2048R Max. PIN lengths .: 32 32 32 PIN retry counter : 3 0 3 Signature counter : 2 .... gpg/card > admin gpg/card > forcesig
(無恥外掛:有關安全設置卡的更多詳細資訊,請參閱我的咆哮)