refactor: KeyMaterial streaming serializer — serialize_to(writer) instead of String
refactor: typed wire-format structs — replace byte-offset indexing in decrypt.rs
refactor: AlgorithmRegistry — replace scattered match arms with a dispatch table
refactor: CryptoSystemBase trait — formalize the in-memory crypto pipeline
Security-critical failures are not visually distinct from informational status
Crypto error strings reach the GUI status bar verbatim
Fingerprint format is non-standard and undocumented
when there is a keyring, but the user does not provide the password for it, enter a global special mode that disables writing to the keyring
CRITICAL UI - Don't allow writes to keyring if keyring password was NOT entered it destroys the old keyring (destructive attack)
new cleartext views? allows things like: hexview, wireformat view, zipfile view, diary view.
Settings Default View: plaintext or hexdump can be removed + all logic that implements that its a useless feature, default is plain text view
new cleartext views? allows things like: hexview, wireformat view, zipfile view, diary view.
Ctrl-` toggles between Masked and Visible in Settings.
new cleartext views? allows things like: hexview, wireformat view, zipfile view, diary view.
its basically: IF Settings>Plaintext: Visible THEN ... all these custom views are available. perhaps a plugin architecture?
rustpg-keyring format-version 2
it is an error to allow File|Edit buffer... when it's MaskedPlainText
so you have a ClearTextView{Masked,Visible,Hexdump,diary,zipfile}, CipherTextView{Hexdump,Wire }, and KeyMaterialView{Masked,Visible,FormView}
it is an error to allow File|Edit buffer... when it's MaskedPlainText
tab-key and shift-tab key should work in all red boxes
both tui and gui: In asymmetric, prefer encryption to self, and autoselect if there is only one key possible
when there is a keyring, but the user does not provide the password for it, enter a global special mode that disables writing to the keyring
Perfect bug! this seems an obvious fix: Remove the 'Keys' menu, Settings and Tasks, basically everything except Symmetric. But should there be a button to zap the info? I guess maybe, if the user...
when there is a keyring, but the user does not provide the password for it, enter a global special mode that disables writing to the keyring
new ciphertext view? textbox,hexdump,colorized hex+detail_pane