EchoTex_Payroll/HRM.DA/Service/PGPEncryption/PGPEncryptionService.cs

94 lines
3.6 KiB
C#
Raw Permalink Normal View History

2024-10-14 10:01:49 +06:00
using System;
using System.Data;
using System.Linq;
using Ease.Core.Model;
using Ease.Core.DataAccess;
using HRM.BO;
using System.Collections.Generic;
using Ease.Core.Utility;
using Payroll.Service;
//using Starksoft.Cryptography.OpenPGP;
using System.IO;
namespace HRM.DA
{
public class PGPEncryptionService : ServiceTemplate, IPGPEncryptionService
{
//private GnuPG gpg = new GnuPG();
private string appPath;
private string keyUserId;
#region Constructors
public PGPEncryptionService()
{
//this.appPath = Ease.Core.Utility.ConfigUtility.GetAppSettings("GPGPath");
//this.keyUserId = Ease.Core.Utility.ConfigUtility.GetAppSettings("PGPKeyUserID");
}
#endregion
protected override T CreateObject<T>(DataReader oReader)
{
PGPEncryption pGPEncryption = new PGPEncryption();
return pGPEncryption as T;
}
#region Public Methods
//public FileInfo EncryptFile(string sourceFile, string encryptedFile)
//{
// // check parameters
// if (string.IsNullOrEmpty(keyUserId))
// throw new ArgumentException("keyUserId parameter is either empty or null", "keyUserId");
// if (string.IsNullOrEmpty(sourceFile))
// throw new ArgumentException("sourceFile parameter is either empty or null", "sourceFile");
// if (string.IsNullOrEmpty(encryptedFile))
// throw new ArgumentException("encryptedFile parameter is either empty or null", "encryptedFile");
// // Create streams - for each of the unencrypted source file and decrypted destination file
// using (Stream sourceFileStream = new FileStream(sourceFile, FileMode.Open))
// {
// using (Stream encryptedFileStream = new FileStream(encryptedFile, FileMode.Create))
// {
// // Specify the directory containing gpg.exe (not sure why).
// gpg.BinaryPath = Path.GetDirectoryName(appPath);
// gpg.Recipient = keyUserId;
// // Perform encryption
// gpg.Encrypt(sourceFileStream, encryptedFileStream);
// return new FileInfo(encryptedFile);
// }
// }
//}
//public FileInfo DecryptFile(string passPhase, string encryptedSourceFile, string decryptedFile)
//{
// // check parameters
// if (string.IsNullOrEmpty(encryptedSourceFile))
// throw new ArgumentException("encryptedSourceFile parameter is either empty or null", "encryptedSourceFile");
// if (string.IsNullOrEmpty(decryptedFile))
// throw new ArgumentException("decryptedFile parameter is either empty or null", "decryptedFile");
// using (FileStream encryptedSourceFileStream = new FileStream(encryptedSourceFile, FileMode.Open))
// {
// // make sure the stream is at the start.
// encryptedSourceFileStream.Position = 0;
// using (FileStream decryptedFileStream = new FileStream(decryptedFile, FileMode.Create))
// {
// // Specify the directory containing gpg.exe (again, not sure why).
// //gpg.Passphrase = passPhase;
// gpg.BinaryPath = Path.GetDirectoryName(appPath);
// // Decrypt
// gpg.Decrypt(encryptedSourceFileStream, decryptedFileStream);
// }
// }
// return new FileInfo(decryptedFile);
//}
#endregion
}
}