I'm building the equivalent of a blockchain wallet, it is an end-to-end encryption desktop program, the user (client) must be the only one to know his private key, with this private key, he can send funds or perform some potentially very critical operations, of course he just sends messages signed with the private key.
The UX allows the user to save his private key, so it can be reused later by the same application.
For obvious reasons, I need to encrypt this private key (64 characters string) some way or another, so any other program or person that has access to the file system cannot read it.
What are the state-of-the-art or recommended practice to adress this critical issue ?
Is there some OS features that allow only one program to read/put some data ?
Thanks