Gpg

除非 pinentry 程序,否則如何配置 gpg2 以傳遞智能卡 PIN?

  • July 10, 2014

我的配置:

  • 美分 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

(無恥外掛:有關安全設置卡的更多詳細資訊,請參閱我的咆哮

引用自:https://unix.stackexchange.com/questions/141569