Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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;
                }
            }
        }