С gpg --verify, как программно отличить действительные подписи и действительные подписи от доверенных ключей?

Я хочу написать скрипт, который запускает 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.

3
задан 31 May 2013 в 17:54

1 ответ

Это не особенно элегантное решение, но оно может быть полезным.

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"
}
0
ответ дан 31 May 2013 в 17:54

Другие вопросы по тегам:

Похожие вопросы: