Muchas gracias por tu respuesta Casimiro Notevi, Neftali, si estuve revisando BlackBox, pero me comentaron que lo requieren gratuito
Ahorita me encuentro haciendo pruebas con cryptlib.pas y DelphiCryptlib.pas, pero tengo algunas dudas, no se si alguien lo a usado?.
Estoy haciendo pruebas con este código en donde se encripta un archivo.
Código Delphi
[-]
var
InputData, OutputData: TStream;
Encrypt: TCryptEnvelope;
begin
InputData := TFileStream.Create('MyTestfile.txt', fmOpenRead);
OutputData := TFileStream.Create('EncodedFile.bin', fmCreate);
Encrypt := TCryptEnvelope.Create(CRYPT_FORMAT_SMIME);
Encrypt.Password := 'MyPassword';
Encrypt.SetAttribute(CRYPT_OPTION_ENCR_ALGO, CRYPT_ALGO_AES);
Encrypt.StreamIO(InputData, OutputData);
Encrypt.Free;
InputData.Free;
OutputData.Free;
end;
La idea es que se toma un archivo llamado 'MyTestfile.txt' y al encriptarlo se guarda con el nombre EncodedFile.bin.
Yo hice los siguientes cambios:
Código Delphi
[-]
var
InputData, OutputData: TStream;
Encrypt: TCryptEnvelope;
begin
InputData := TFileStream.Create('MyTestfile.txt', fmOpenRead);
OutputData := TFileStream.Create('EncodedFile.bin', fmCreate);
Encrypt := TCryptEnvelope.Create(CRYPT_FORMAT_PGP);
Encrypt.EncryptingKey:= 'pubring.pkr';
Encrypt.SetAttribute(CRYPT_OPTION_ENCR_ALGO,CRYPT_ALGO_CAST);
Encrypt.StreamIO(InputData, OutputData);
Encrypt.Free;
InputData.Free;
OutputData.Free;
end;
La primer línea con cambio se debe a que estoy especificando que usaré PGP en lugar de SMIME.
La segunda línea con cambio quiero asignar la llave publica en lugar de la contraseña. (Me marca error)
La tercer línea es el "conventionl encryption" que corresponde para OpenPGP "CRYPT_ALGO_CAST = 4; { CAST-128 (only used for OpenPGP) }"
El problema es que no se como colocar la llave publica (archivo pkr) generada con OpenPGP para que pueda encriptarme el archivo.
Alguien a usado esto para encriptar?