Я хочу написать скрипт, который запускает gpg --verify
для проверки подписи.
Команда gpg
возвращает 1 для недействительных подписей и 0 для действительных. Но он дает различный вывод для ключей, которые есть в моей базе данных trustdb, и ключей, которых нет:
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Я хочу запустить gpg
таким образом, чтобы это предупреждение рассматривалось как ошибка, и без прибегая к подбору результатов. Это возможно?
Кстати: хорошо, если для решения требуется, чтобы я использовал gpgme, но я пока не нашел ничего, связанного с trustdb, которое выглядит отдаленно релевантным в документации gpgme.
Это не особенно элегантное решение, но оно может быть полезным.
check_sig(){
local LC_ALL=C output
output=$(gpg --verify -- "$1" 2>&1) || return 1
! grep -Fqx 'gpg: WARNING: This key is not certified with a trusted signature!' <<<"$output"
}