秘密鍵 (ascii 形式) と他の公開鍵 (同じく ascii 形式) を使用してファイルを暗号化しようとしています。BouncyCastle ライブラリは使用するのに適しているように見えますが、C# のドキュメントが見つかりません。誰でも例を教えてください。ありがとうございました。
質問する
19129 次
1 に答える
18
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();
}
}
于 2010-05-18T16:56:38.090 に答える