GPEncryptedDataList обнаружил, где ожидается PGPPublicKeyRing - PullRequest
0 голосов
/ 15 февраля 2019

Я шифрую текстовый файл с открытым ключом, который у меня уже есть, у меня есть метод, который в основном считывает открытый ключ из входного потока, при создании объекта в следующей строке я получаю исключение

public static PGPPublicKey readPublicKeyFromCol(InputStream in)
           throws IOException, PGPException {
    PGPPublicKey k =null;
        in = PGPUtil.getDecoderStream(in);

        PGPPublicKeyRingCollection pgpPub = new PGPPublicKeyRingCollection(in, new BcKeyFingerprintCalculator());// Exception thrown on this line
        Iterator rIt = pgpPub.getKeyRings();

        while (rIt.hasNext()) {
           PGPPublicKeyRing kRing = (PGPPublicKeyRing) rIt.next();
           Iterator kIt = kRing.getPublicKeys();

           while (kIt.hasNext()) {
               k = (PGPPublicKey) kIt.next();
               if (k.isEncryptionKey()) {
                   return k;
               }
           }
        }
        return k;

}

Это работало несколько часов назад и вдруг перестало работать, ничего не изменилось в коде.И теперь следующее исключение: я получаю

Exception in thread "main" org.bouncycastle.openpgp.PGPException: org.bouncycastle.openpgp.PGPEncryptedDataList found where PGPPublicKeyRing expected

Кто-нибудь сталкивался с таким типом ошибки раньше?Цени любую помощь по этому

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...