diff options
Diffstat (limited to 'src/Main/Forms/KeyfileGeneratorDialog.cpp')
-rw-r--r-- | src/Main/Forms/KeyfileGeneratorDialog.cpp | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/src/Main/Forms/KeyfileGeneratorDialog.cpp b/src/Main/Forms/KeyfileGeneratorDialog.cpp index 61f16287..885f56d2 100644 --- a/src/Main/Forms/KeyfileGeneratorDialog.cpp +++ b/src/Main/Forms/KeyfileGeneratorDialog.cpp @@ -3,7 +3,7 @@ Copyright (c) 2008-2012 TrueCrypt Developers Association and which is governed by the TrueCrypt License 3.0. - Modifications and additions to the original source code (contained in this file) + Modifications and additions to the original source code (contained in this file) and all other portions of this file are Copyright (c) 2013-2016 IDRIX and are governed by the Apache License 2.0 the full text of which is contained in the file License.txt included in VeraCrypt binary and source @@ -17,10 +17,10 @@ namespace VeraCrypt { - KeyfileGeneratorDialog::KeyfileGeneratorDialog (wxWindow* parent) : KeyfileGeneratorDialogBase (parent) + KeyfileGeneratorDialog::KeyfileGeneratorDialog (wxWindow* parent) : KeyfileGeneratorDialogBase (parent) { RandomNumberGenerator::Start(); - + Hashes = Hash::GetAvailableAlgorithms(); foreach (shared_ptr <Hash> hash, Hashes) { @@ -33,7 +33,7 @@ namespace VeraCrypt HideBytes (RandomPoolStaticText, 24); MouseStaticText->Wrap (Gui->GetCharWidth (MouseStaticText) * 70); - + CollectedEntropy->SetRange (RNG_POOL_SIZE * 8); MainSizer->SetMinSize (wxSize (-1, Gui->GetCharHeight (this) * 24)); @@ -41,7 +41,7 @@ namespace VeraCrypt Layout(); Fit(); Center(); - + MouseEventsCounter = 0; foreach (wxWindow *c, this->GetChildren()) @@ -57,36 +57,36 @@ namespace VeraCrypt try { int keyfilesCount = NumberOfKeyfiles->GetValue(); - int keyfilesSize = KeyfilesSize->GetValue(); + int keyfilesSize = KeyfilesSize->GetValue(); bool useRandomSize = RandomSizeCheckBox->IsChecked(); wxString keyfileBaseName = KeyfilesBaseName->GetValue(); keyfileBaseName.Trim(true); keyfileBaseName.Trim(false); - + if (keyfileBaseName.IsEmpty()) { Gui->ShowWarning("KEYFILE_EMPTY_BASE_NAME"); return; } - + wxFileName baseFileName = wxFileName::FileName (keyfileBaseName); if (!baseFileName.IsOk()) { Gui->ShowWarning("KEYFILE_INVALID_BASE_NAME"); return; } - + DirectoryPath keyfilesDir = Gui->SelectDirectory (Gui->GetActiveWindow(), LangString["SELECT_KEYFILE_GENERATION_DIRECTORY"], false); if (keyfilesDir.IsEmpty()) return; - + wxFileName dirFileName = wxFileName::DirName( wstring(keyfilesDir).c_str() ); if (!dirFileName.IsDirWritable ()) { Gui->ShowWarning(L"You don't have write permission on the selected directory"); return; } - + wxBusyCursor busy; for (int i = 0; i < keyfilesCount; i++) { @@ -95,26 +95,26 @@ namespace VeraCrypt { SecureBuffer sizeBuffer (sizeof(int)); RandomNumberGenerator::GetData (sizeBuffer, true); - + memcpy(&bufferLen, sizeBuffer.Ptr(), sizeof(int)); /* since keyfilesSize < 1024 * 1024, we mask with 0x000FFFFF */ bufferLen = (long) (((unsigned long) bufferLen) & 0x000FFFFF); bufferLen %= ((1024*1024 - 64) + 1); - bufferLen += 64; + bufferLen += 64; } else bufferLen = keyfilesSize; SecureBuffer keyfileBuffer (bufferLen); RandomNumberGenerator::GetData (keyfileBuffer, true); - + wstringstream convertStream; convertStream << i; - wxString suffix = L"_"; - suffix += convertStream.str().c_str(); - + wxString suffix = L"_"; + suffix += convertStream.str().c_str(); + wxFileName keyfileName; if (i == 0) { @@ -131,12 +131,12 @@ namespace VeraCrypt keyfileName.Assign(dirFileName.GetPath(), keyfileBaseName + suffix); } } - + if (keyfileName.Exists()) { wxString msg = wxString::Format(LangString["KEYFILE_ALREADY_EXISTS"], keyfileName.GetFullPath()); if (!Gui->AskYesNo (msg, false, true)) - return; + return; } { @@ -175,7 +175,7 @@ namespace VeraCrypt ShowBytes (RandomPoolStaticText, RandomNumberGenerator::PeekPool().GetRange (0, 24)); else HideBytes (RandomPoolStaticText, 24); - + /* conservative estimate: 1 mouse move event brings 1 bit of entropy * https://security.stackexchange.com/questions/32844/for-how-much-time-should-i-randomly-move-the-mouse-for-generating-encryption-key/32848#32848 */ @@ -183,7 +183,7 @@ namespace VeraCrypt if (MouseEventsCounter < (RNG_POOL_SIZE * 8)) CollectedEntropy->SetValue (++MouseEventsCounter); } - + void KeyfileGeneratorDialog::OnShowRandomPoolCheckBoxClicked (wxCommandEvent& event) { if (!event.IsChecked()) @@ -217,7 +217,7 @@ namespace VeraCrypt str[i] = L'X'; } } - + void KeyfileGeneratorDialog::HideBytes (wxStaticText *textCtrl, size_t len) { wxString str; |