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을 한 번 입력하라는 메시지가 표시되고 gpg2( pinentry프로그램을 사용하여) 스마트 카드 PIN을 세 번 입력하라는 메시지가 표시됩니다.

rpm --addsignPIN이 (첫 번째 프롬프트로) 전달되고 gpg2PIN gpg2을 다시 요청하지 않기를 원합니다 .

만 있으면 가능한가요?하나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

관련 정보