python-gnupg подписывает / проверяет архив tar

1

Я использую 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 и проверить, он отлично работает.

Я теряю рассудок на этом, любые указатели?

  • 0
    похоже на некоторые проблемы с процессом генерации знака. Если я вручную создаю файл sig с помощью командной строки с ключами pvt и пытаюсь проверить это из оболочки Python, он работает нормально. Заставляет меня задуматься о некоторых проблемах с процессом генерации сиг.
  • 0
    если я перехожу в режим без отсоединения, то сгенерированный файл проверяется очень хорошо. Как я могу получить данные из этого файла? я должен предоставить как оригинальный tar, так и сгенерированный файл из процесса sign?
Показать ещё 1 комментарий
Теги:
gnupg

1 ответ

0

на всякий случай, когда кто-либо сталкивается с этой ошибкой, я решил это, полностью отодвинув библиотеку и выполнив подписку через Popen. Ниже приведены рекомендации -

http://jeromebelleman.gitlab.io/posts/devops/pygpgstdin/

Python/POpen/gpg: Предоставить кодовую фразу и текст шифрования как через дескриптор stdin, так и файл

Ещё вопросы

Сообщество Overcoder
Наверх
Меню