public static void saveCredentialToEncryptedFile(Credentials credentials) { var Filename = credentials.email.Substring(0, 1); var path = Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location), Filename + ".enc"); Crypto.AES_Encrypt(credentials, path); }
private void addFileButton_Click(object sender, EventArgs e) { if (mComplexKey != null) { string unencryptedFilepath = ""; var fileDialog = new OpenFileDialog(); fileDialog.Title = "Выбор файла"; if (fileDialog.ShowDialog() == DialogResult.OK) { unencryptedFilepath = fileDialog.FileName; var server = new NavigatorIServiceClient(); RemoteFileInfo uploadRequestInfo = new RemoteFileInfo(); string encryptedFilename = AppDomain.CurrentDomain.BaseDirectory + "\\" + unencryptedFilepath.Substring(unencryptedFilepath.LastIndexOf('\\') + 1); Crypto.AES_Encrypt(unencryptedFilepath, encryptedFilename, mComplexKey); using (System.IO.FileStream streamEncrypted = new System.IO.FileStream(encryptedFilename, System.IO.FileMode.Open, System.IO.FileAccess.Read)) { FileInfo fiUnencrypted = new FileInfo(unencryptedFilepath); uploadRequestInfo.mMetaFile = new FilesystemObject(); uploadRequestInfo.mMetaFile.mIsDirFlag = false; uploadRequestInfo.mMetaFile.mFilepath = mCurrDirectoryData.currPath + "\\" + fiUnencrypted.Name; uploadRequestInfo.mMetaFile.mFilesize = (int)fiUnencrypted.Length; // Subject control info uploadRequestInfo.mMetaFile.mUid = mUserID; uploadRequestInfo.mMetaFile.mGid = -1; uploadRequestInfo.mMetaFile.mAccessBitset = OWNER_MASK | GROUP_MASK; uploadRequestInfo.mFileByteStream = streamEncrypted; OperationResult result = new OperationResult(); int resultFileId = -1; resultFileId = server.AddFile(uploadRequestInfo.mMetaFile, uploadRequestInfo.mFileByteStream, out result); if (result != null && result.mErrCode == 0) { var resp = server.GetListOfData(mUserID, mCurrDirectoryData.currPath); if (resp != null && resp.mResult.mErrCode == 0) { RefreshListView(resp); } else if (resp != null) { MessageBox.Show(resp.mResult.mErrMessage); } } } FileInfo fi2 = new FileInfo(encryptedFilename); fi2.Delete(); server.Close(); } } else // choose key or generate new { MessageBox.Show("Не выбран ключ шифрования!"); if (setKey()) { addFileButton_Click(sender, e); } else { return; } } }