Я пытаюсь зашифровать файлы с помощью своего закрытого ключа (в формате ASCII) и любой другой открытый ключ (также в формате ASCII). Библиотека BouncyCastle похожа на корректную вещь использовать, но я не могу найти документацию для C#. Мог любой помогать мне с примером.Спасибо.
Вот некоторый код из примера BouncyCastle. Вы должны взять исходный код и посмотреть в модульных тестах, они содержат примеры. Я обнаружил, что ресурсы Java также полезны. Пример можно найти в исходниках под crypto\test\src\openpgp\examples\PbeFileProcessor.cs
private static void EncryptFile(
Stream outputStream,
string fileName,
char[] passPhrase,
bool armor,
bool withIntegrityCheck)
{
if (armor)
{
outputStream = new ArmoredOutputStream(outputStream);
}
MemoryStream bOut = new MemoryStream();
PgpCompressedDataGenerator comData = new PgpCompressedDataGenerator(
CompressionAlgorithmTag.Zip);
PgpUtilities.WriteFileToLiteralData(
comData.Open(bOut),
PgpLiteralData.Binary,
new FileInfo(fileName));
comData.Close();
byte[] bytes = bOut.ToArray();
PgpEncryptedDataGenerator cPk = new PgpEncryptedDataGenerator(
SymmetricKeyAlgorithmTag.Cast5, withIntegrityCheck, new SecureRandom());
cPk.AddMethod(passPhrase);
Stream cOut = cPk.Open(outputStream, bytes.Length);
cOut.Write(bytes, 0, bytes.Length);
cOut.Close();
if (armor)
{
outputStream.Close();
}
}