You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Try to post transaction using newly updated password
Expected behavior
Transaction should be posted.
Actual behavior
HTTP 500
{
"code": "rejected_by_core_node",
"message": "I successfully submitted a transaction, but unfortunately it was rejected by a relay. This could be because the fee was not large enough, or because the transaction conflicts with another transaction that uses one or more of the same inputs, or it may be due to some other reason. Here's an error message that may help with debugging: Failed to send to peers: Blockchain protocol error"
}
Resolution Plan
After investigation, it is clear that the encrypted key isn't actually re-encrypted when changing the passphrase. Only the new passphrase hash is stored and the new key is left untouched :(
Write a functional test that shows that 'signTx' should produce identical witnesses for the identical transactions and private keys, regardless of the encryption passphrase used. This should fail with the current state of the code.
Fix the updateWalletPassphrase handler and make sure to re-encrypt the root private key with the new provided passphrase!
Added a test to capture the failure described above (trying to sign an identical transaction before and after updating the encryption passphrase, checking it returns same witnesses both times). See Cardano.WalletSpec.
Fixed the issue by actually re-encrypting the private key with a new passphrase when it is changed, see: Cardano.Wallet
The text was updated successfully, but these errors were encountered:
Context
Steps to Reproduce
Expected behavior
Transaction should be posted.
Actual behavior
Resolution Plan
After investigation, it is clear that the encrypted key isn't actually re-encrypted when changing the passphrase. Only the new passphrase hash is stored and the new key is left untouched :(
Write a functional test that shows that 'signTx' should produce identical witnesses for the identical transactions and private keys, regardless of the encryption passphrase used. This should fail with the current state of the code.
Fix the
updateWalletPassphrase
handler and make sure to re-encrypt the root private key with the new provided passphrase!PR
master
QA
Added a test to capture the failure described above (trying to sign an identical transaction before and after updating the encryption passphrase, checking it returns same witnesses both times). See
Cardano.WalletSpec
.Fixed the issue by actually re-encrypting the private key with a new passphrase when it is changed, see: Cardano.Wallet
The text was updated successfully, but these errors were encountered: