Я пытаюсь использовать GPG для подписания файлов, но что-то смущает меня: Если я вхожу в терминал (файл, я хочу подписаться, назван "контрольными суммами"), он говорит:
$ gpg -s checksums
You need a passphrase to unlock the secret key for
user: "[my name] <[my email prefix]@gmail.com>"
4096-bit RSA key, ID C457C71D, created 2015-01-16
Однако это не просит, чтобы я ввел свой пароль, но просто делает процесс подписания. Почему это?
Использование GnuPG gpg-agent
для кэширования пароля. Это делает , требуют пароля для подписания (это - операция с закрытым ключом), и таким образом печатает сообщение, но не должен спрашивать Вас, поскольку пароль все еще кэшировался. Ли и сколько времени работы кэша могут быть настроены.
gpg
проверки, если существует выполнение gpg-agent
(или, в более новых версиях, обязательно запускает одну). gpg-agent
действительно (среди прочего) кэширует Ваш пароль в течение данного времени.
Этот отрезок времени может быть настроен в ~/.gnupg/gpg-agent.conf
, который в моем случае содержит строку
default-cache-ttl 600
для установки времени кэша на десять минут (10*60 секунд). Дальнейшие опции являются descriped в man gpg-agent
, большинство опций может также использоваться в gpg-agent.conf
путем исключения продвижения --
.
Поскольку существует gpg агент, который кэширует Ваш пароль сроком на время, поэтому если Вы неоднократно используете gpg, только необходимо ввести пароль в первый раз, и затем это будут помнить и использовать автоматически на последующих выполнениях.