Estoy tratando de cifrar archivos usando mi clave privada (en formato ascii) y cualquier otra clave pública (también en formato ascii). La biblioteca BouncyCastle parece ser la correcta, pero no puedo encontrar documentación para C#. ¿Alguien podría ayudarme con un ejemplo? Gracias.Necesito ejemplo para el cifrado de archivos BouncyCastle PGP en C#
6
A
Respuesta
12
Aquí hay un código del ejemplo de BouncyCastle. Debes tomar el código fuente y buscar en las pruebas unitarias, que contienen ejemplos. Descubrí que los recursos de Java también son útiles. El ejemplo se puede encontrar en el origen bajo cripto \ test \ src \ openpgp \ ejemplos \ 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();
}
}
+1
++ Gracias. Tenía problemas para localizar los ejemplos. – John
Cuestiones relacionadas
- 1. Cifrado PGP en Javascript
- 2. Python y PGP/cifrado
- 3. Cifrado BouncyCastle RSA para BlackBerry
- 4. Encriptación y descifrado de PgP usando BouncyCastle C#
- 5. Tienda de llaves PGP (públicas) en java keystore - Bouncycastle
- 6. BouncyCastle PGP y McAfee eBusiness Server 8.6 Incompatibilidad
- 7. Cómo descifrar el archivo cifrado PGP con Ruby gpgme
- 8. PGP Encriptar y descifrar
- 9. C# - ¿necesito archivos manifiestos?
- 10. Bouncy Castle PGP Decryption Issue
- 11. Cómo usar BouncyCastle en C# para el hash unidireccional Blowfish?
- 12. Servicio de PGP para .NET Permitir claves arbitrarias
- 13. Codificamos un archivo para un cliente que utiliza la API BouncyCastle. Obtiene un mensaje "Solo para tus ojos" de PGP cuando intenta descifrarlo. ¿Por qué?
- 14. Cifrado César en C#
- 15. de componentes para el cifrado
- 16. Necesito un ejemplo C# de consecuencias no deseadas
- 17. C# Cifrado para descifrado PHP
- 18. Problemas para integrar BouncyCastle Jar
- 19. BouncyCastle PrivateKey Para X509Certificate2 PrivateKey
- 20. comenzar con BouncyCastle criptografía DLL C#
- 21. C# Sign Data con RSA usando BouncyCastle
- 22. ¿Qué archivos necesito implementar para ASP.NET mvc?
- 23. C# Ejemplo de encriptación AES256 usando System.Security.Cryptography.Aes
- 24. Necesito un ejemplo para usar Junit en Intellij Idea
- 25. cifrado César en C++
- 26. Cifrado de archivos con Python
- 27. Asesorar sobre el rendimiento del cifrado de archivos en Java
- 28. Puerto RSA código Java cifrado en C#
- 29. Cifrado de archivos XOR en iOS
- 30. Necesito un ejemplo simple para la grabación de audio
tal vez yo no estoy entendiendo correctamente PGP, al cifrar un archivo qué sólo el uso público de la tercera parte de ¿llave? Ninguna parte de tu clave privada se usa en el proceso, ¿correcto? Si es así, debo cambiar mi pregunta a "Ejemplo: cómo cifrar con clave pública de terceros y firmar con clave privada" –
Lo mismo ocurre con cualquier criptografía asimétrica: usa clave pública para encriptación y verificación de firma, y clave privada se usa para firmar y descifrar. –