private async Task ProcessFile(string file) { var shortFile = System.IO.Path.GetFileName(file); if (!string.IsNullOrEmpty(shortFile) && shortFile.Length > 35) { shortFile = shortFile.Substring(0, 32) + "..."; } var prg = new Progress <StreamCryptorTaskAsyncProgress>(); prg.ProgressChanged += (s, e) => { status.Text = string.Format("{0}: {1}%", shortFile, e.ProgressPercentage); }; try { Enabled = false; await MessageCrypto.EncryptFile(file, toId.Text, prg); } catch (Exception ex) { MessageBox.Show(string.Format("Unable to encrypt message.\r\nError: '{0}'", ex.Message), "CurveLock Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public void DecryptMessageTest() { var message = Base58Check.Base58CheckEncoding.Decode("1AtPS411ipfcRmvBe1hoSvAbJpNfpvpzKrQHTuK8jw9WTGf69FM7kmkDxhf9nFpfG4dbEgrxYMuyyR3x4LM8LbscDx3x5mQWmGL8cDCShJKFBeEqN688QfhGNVVTsKqWNUJ"); var privateKey = Sodium.Utilities.HexToBinary("4ba8e0b41fc07b5a1d4e0be0a4b464f6f2673a3854f967b5c31102b15683a195"); var key = PublicKeyBox.GenerateKeyPair(privateKey); var expected = Encoding.UTF8.GetBytes("bob"); var actual = MessageCrypto.DecryptMessage(message, key); CollectionAssert.AreEqual(expected, actual); }
public void EncryptMessageTest() { var message = Encoding.UTF8.GetBytes("bob"); const string TO_ID = "Lqm2Foa9keELvGf8cYHJB3CRzEgPLuxJnBdtbZRbhuGmx3dhQB"; var expected = Encoding.UTF8.GetBytes("bob"); var encrypted = MessageCrypto.EncryptMessage(message, TO_ID); var privateKey = Sodium.Utilities.HexToBinary("4ba8e0b41fc07b5a1d4e0be0a4b464f6f2673a3854f967b5c31102b15683a195"); var key = PublicKeyBox.GenerateKeyPair(privateKey); var actual = MessageCrypto.DecryptMessage(encrypted, key); CollectionAssert.AreEqual(expected, actual); }
private void DecryptLinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { if (message.Text.Length > 0) { byte[] decoded; decrypt.Enabled = false; try { Enabled = false; decoded = Base58Check.Base58CheckEncoding.Decode(message.Text); } catch (Exception) { MessageBox.Show("Unable to decode message. Please verify that it is correct.", "CurveLock Error", MessageBoxButtons.OK, MessageBoxIcon.Error); //bail out, nothing we can do here return; } finally { Enabled = true; } try { Enabled = false; message.Text = Encoding.UTF8.GetString(MessageCrypto.DecryptMessage(decoded, Common.KeyPair)); } catch (Exception ex) { MessageBox.Show( string.Format("Unable to decrypt message. Please verify that it is correct.\r\nError: '{0}'", ex.Message), "CurveLock Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { Enabled = true; } } }
private void EncryptLinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { if (message.Text.Length > 0) { encrypt.Enabled = false; try { Enabled = false; message.Text = Base58Check.Base58CheckEncoding.Encode( MessageCrypto.EncryptMessage(Encoding.UTF8.GetBytes(message.Text), toId.Text)); } catch (Exception ex) { MessageBox.Show(string.Format("Unable to encrypt message.\r\nError: '{0}'", ex.Message), "CurveLock Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { Enabled = true; } } }