unimplemented public key
Взял программу из статьи http://www.rsdn.ru/article/crypto/pgpsdk1.xml#EGMAC
С её публичными ключами – она шифрует нормально, когда подсовываю свой – пишет Unimplemented Public Key.
Начал изучать в чем эти ключи отличаются, а так же попытался сгенерировать ключи сам.
Опытным путем установил то, что эта ошибка возникает, если ключ RSA типа. Если же ключ типа DSA то программа нормально подписывает.
Дело в том, что этот публичный ключ был выдан ранее банком и на основе PGP SDK и sPGP (Delphi) работала программа. Т.е. теоретически шифровать при помощи PGP SDK и алгоритма RSA возможно.
Подскажите в чем может быть проблема
В статье вижу только "Демонстрационную программу PGPTest1". Вы уверены, что в ней реализована работа с ключами RSA?
В общем, оказалось, что все версии пгр, вышедшие с 2000-го года не поддерживают в себе алгоритм RSA. Скачал версию pgp sdk по-младше и ошибка больше не выходит.
Щито? "пгр" == "пгп"? Тогда Вы жестого ошибаетесь. Возможно, что программа хочет ключ формата v3, а с v4 не совместима. Имейте в виду, ключи v3 не поддерживает более ни одна реализация OpenPGP по соображениям безопасности.