서명 키가 키카드에 저장되어 있는 경우 GPG를 사용하여 여러 파일에 서명할 수 있는 방법이 있습니까? (또는 더 구체적으로 말하면 내 경우에는 Yubikey).
현재 서명하려는 여러 파일을 반복하는 스크립트가 있습니다. 예를 들면 다음과 같습니다.
for pkg in html/packages/*.tar;
do
gpg2 --detach-sign --armor -o $pkg.sig $pkg
done
이것은 작동하지만 키카드에 비밀번호가 있기 때문에 각 파일에 비밀번호를 입력하라는 메시지가 표시되는데, 이는 몇 개의 파일 이후에는 매우 짜증스럽습니다.
모든 문서에 한 번에 서명할 수 있는 방법이 있나요? 또는 통화 간에 핀 코드를 캐시할 수 있도록 서명 프로세스에 대한 몇 가지 해결 방법이 있습니까?
답변1
스크립트가 사용할 수 있는 변수에 PIN을 넣을 수 있다면 다음을 수행할 수 있습니다.
for pkg in html/packages/*.tar;
do
echo ${PIN} | gpg --batch --yes --passphrase-fd 0 --detach-sign --armor -o $pkg.sig $pkg
done
man
페이지 에서 :
--passphrase-fd n
Read the passphrase from file descriptor n. Only the first line will be read
from file descriptor n. If you use 0 for n, the passphrase will be read from
STDIN. This can only be used if only one passphrase is supplied.
Note that since Version 2.0 this passphrase is only used if the option --batch
has also been given. Since Version 2.1 the --pinentry-mode also needs to be set
to loopback.
passphrase-fd
( gpg
암호를 어디서 받아야합니까?) 옵션에 관하여https://stackoverflow.com/questions/19895122/how-to-use-gnupgs-passphrase-fd-argument도움이 될 수 있습니다