In my app, the user must use a private key to sign a transaction (on a blockchain). (It is quite common)
I am facing questions regarding how to store my user's private key on the device. I am to use a keychain module to store the private key in the phone memory, so that the User does not have to copy / paste it every time he/she wants to make a transaction etc.(That I know is dangerous)
But I suddenly wonder if I should not also encrypt the private key (so that it is not stored in clear view in the register). I would make an https request to my server to request the decryption key each time I have to use the key chain content (which contains the user's block chain private key).
Or, is the Android / iOS keychain already secure enough and I can leave the key clear in the phone memory?
Let me know if more details are needed.