94 lines
3.6 KiB
C#
94 lines
3.6 KiB
C#
|
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
|
|||
|
}
|
|||
|
}
|