pinentryプログラムを除いてスマートカードPINを転送するようにgpg2を設定する方法は?

pinentryプログラムを除いてスマートカードPINを転送するようにgpg2を設定する方法は?

私の設定:

  • セントース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パッケージに署名する必要がありますrpm --addsign myApp.rpm

正常に動作しますが、rpmスマートカードの PIN を 1 回入力するように求められ、gpg2(pinentryプログラムを使用して) スマートカードの PIN を 3 回入力するように求められます。

rpm --addsignPINが(最初のプロンプトに)渡され、gpg2PINgpg2を再要求しないようにしたいです。

あればできますか?一つgpg2rpmパッケージに署名しますか?

答え1

ピンをキャッシュするには実行する必要があり、gpg-agentカードは次のようになります。いいえビットを設定しますforcesig

AFAIKは基本的にカードに安全なforceigビットセットが付属しています。を使用して、gpg --card-edit commandアイテム署名PINを表示して見つけることができます。マニュアルによると:

署名パスワード

「Force」に設定すると、gpg はすべての署名操作に PIN を要求します。 「Non-enforced」に設定すると、カードがリーダーから削除されない限り、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

(恥知らずなプラグ:セキュリティ設定カードの詳細については、「私の好言状」を参照してください。双子座://ruamel.eu/rants/2014/setting_up_an_openpgp_smartcard_with_gnupg.gmi

関連情報