Ошибка PgpCore - «Секретный ключ для сообщения не найден». - PullRequest
0 голосов
/ 28 апреля 2020

Я использую пакет nuget PgpCore для шифрования и дешифрования PGP.

Случай, с которым я столкнулся, заключается в следующем, я шифрую файл методом EncryptAndSign следующим образом.

using (PGP pgp = new PGP())
{
   pgp.EncryptFileAndSign(fileNameToEncrypt, outputFileName, _publicKey, _privateKey, _passPhrase);
}

Затем я расшифровываю зашифрованный файл, используя метод Decrypt следующим образом.

using (PGP pgp = new PGP())
{
   pgp.DecryptFile(fileNameToDecrypt, outputFileName, _privateKey, _passPhrase);
}

Здесь я получаю сообщение об ошибке «Секретный ключ для сообщения не найден».

Я подозреваю что PrivateKey и PublicKey могут быть неправильными, изменены или могут быть использованы разные значения в этих двух методах.

Итак, я выполнил процесс шифрования в приложении PGP Tool с использованием privatekey и publickey и записал файл путь к параметру inputFile описанного выше метода дескрипции. И процесс расшифровки прошел успешно.

PublicKey и PrivateKey были предоставлены мне компанией-владельцем API для связи со своими API. Поэтому я не генерирую эти ключи, оба значения определены постоянным образом.

Спасибо.

...