When run with a secret and public key that do not cryptographically
match, fn radicle_cli::terminal::io::signer would prompt the user
for a password to unlock the secret key, and then carry on with a
mismatching key pair.
Fix this by verifying that the keys match in MemorySigner::load
and only swallow errors initializing the signer in cases where
prompting for a password makes sense. It does not make sense in the
case of mismatched keys.
When run with a secret and public key that do not cryptographically
match, fn radicle_cli::terminal::io::signer would prompt the user
for a password to unlock the secret key, and then carry on with a
mismatching key pair.
Fix this by verifying that the keys match in MemorySigner::load
and only swallow errors initializing the signer in cases where
prompting for a password makes sense. It does not make sense in the
case of mismatched keys.