Да, есть.Если вы попытаетесь проверить подпись для ключа, которого нет в вашем ящике для ключей или указанном ящике для ключей или связке ключей, возникнет ошибка BadSignatures
, как это происходит в настоящее время с правильно реализованными MUA.Это сообщение об ошибке также возвращает полный идентификатор ключа (т. Е. Отпечаток пальца) ключа или подраздела, который сделал подпись.Функция является такой же для проверки подписи, как обычно, но таким способом, который будет перехватывать любые BadSignatures
ошибки, если они возникнут.
Оба сценария примеров для проверки отсоединенных подписей и обычные подписи или очищенные сообщения демонстрируют, как это делается.Если в сообщении используется PGP / MIME (что и должно быть), следует использовать метод проверки отдельной подписи, в противном случае следует использовать другой метод.
Часть кода в примере проверки отдельной подписи, имеющая отношение к этомуданные об ошибках таковы:
import gpg
c = gpg.Context()
try:
data, result = c.verify(open(filename), open(sig_file))
except gpg.errors.BadSignatures as e:
print(e)
Если возникла ошибка, выводом будет полный идентификатор ключа, за которым следует «: нет открытого ключа» и обратного отслеживания.
Это также рассматривается в документация .