gpg 1.4.10 -> pgp 6.5.8 = "bad packet"
Сабж. Пожалуйста, помогите заставить gpg формировать сообщение (несимметричное шифрование + подпись), которое сможет разобрать pgp.
pgp определяет ключ, которым надо расшифровывать, спрашивает пароль, а потом выдает ошибку "bad packet".
Опция --pgp6 (как и другие варианты) и --compress-algo 1 не решает проблему.
Все ключи, участвующие в процессе, были сформированы в pgp 6.5.8. Работаю напрямую через библиотеки pgp.
Решил заменить виндовый сервер разбора сообщений линуксовым демоном и уже на последнем этапе обнаружил такую несовместимость.
В обратную сторону (pgp -> gpg) – всё ок.
Пробовали откатить версию GnuPG или обновить PGP до чего-нибудь не столь архаичного?
Нет, не пробовал.
gpg – штатная в убунте.
pgp после обновления требует переписывания кода, который ее использует. Этому мешает отвратительная документация (или ее отсутствие), недостача времени и то, что куча клиентов сидят и работают именно с этой версией библиотек. А обновление у них программы, к сожалению, не входит в условия задачи. Хотя, по всей видимости, придется отказываться от уже написанного демона и переписывать и клиентскую, и серверную части с нуля...
Может все же есть идеи? Или способ узнать причину возникновения этой ошибки.
Как вариант. Делаете даунгрейд GnuPG, проверяете передачу. Если на стороне PGP сохраняется ошибка, понижаете версию GPG дальше. Когда (и если) ошибка самоустранится, пропускаете файл с шифртекстом через gpg --list-packets и сравниваете вывод с аналогичным у проблемных версий. По результату можно будет понять, что именно не устраивает PGP 6.5.8.