Я использую python-gpg для подписывания/шифрования/проверки/дешифрования tar-архива.
фрагмент кода -
# import private key into gnupghome
_pvtKey = urllib2.urlopen(_certurl)
_pv_data = _pvtKey.read()
gpg.import_keys(_pv_data)
.....
stream = open("/tar/at/some/path/arh.tar", "rb")
status = gpg.sign_file(stream, passphrase=_salt, detach=True, output="/output/sig/here.sig")
Сгенерированный код файла sig просто отлично. Однако, если я попытаюсь проверить sig/tar с помощью открытых ключей, я получаю следующее сообщение:
gpg: armor header: Version: GnuPG v1
gpg: Signature made Tue 28 Aug 2018 07:48:28 PM UTC using RSA key ID 6B93AF63
gpg: using PGP trust model
gpg: BAD signature from "[email protected]"
gpg: binary signature, digest algorithm SHA1
Напротив, если я попытаюсь сгенерировать sig файл непосредственно на linux и проверить, он отлично работает.
Я теряю рассудок на этом, любые указатели?
на всякий случай, когда кто-либо сталкивается с этой ошибкой, я решил это, полностью отодвинув библиотеку и выполнив подписку через Popen. Ниже приведены рекомендации -