Comments (7)
I suspect this is a result of openssl removing ripemd160 so python's hashlib is no longer able to produce ripemd160 hashes. Resolving this has been on my list of things to do, but haven't actually worked on a solution yet, see #305.
To confirm, if you do openssl dgst -list
, do you see ripemd160
in the list? If not, then that is the source of this issue. The only way to resolve this is to use an older version of openssl that still has ripemd160 and make sure that your python is compiled against it. If this is the problem, you haven't done anything wrong, it's just broken.
from hwi.
I have a couple of weeks working on linux, excuse my ignorance. Would it be better to change distribution and try another?
openssl dgst -list Supported digests: -blake2b512 -blake2s256 -md4 -md5 -md5-sha1 -ripemd -ripemd160 -rmd160 -sha1 -sha224 -sha256 -sha3-224 -sha3-256 -sha3-384 -sha3-512 -sha384 -sha512 -sha512-224 -sha512-256 -shake128 -shake256 -sm3 -ssl3-md5 -ssl3-sha1 -whirlpool
from hwi.
It's listed there.. but I think that's because it is a "legacy" function so not actually removed yet?
Can you try openssl speed ripemd160
?
According to this StackOverflow answer, it can be enabled with a configuration file.
Would it be better to change distribution and try another?
Probably not. Recent distributions are likely to be upgrading their openssl versions to the recent releases which will have the same issue.
from hwi.
Apparently it was added back, so make sure your openssl version is at least 3.0.7.
from hwi.
Hello again, thanks for the help. The solution was to modify the openssl and add the following lines.
According to this StackOverflow answer, it can be enabled with a configuration file.
**`openssl_conf = openssl_init
[openssl_init]
providers = provider_sect
[provider_sect]
default = default_sect
legacy = legacy_sect
[default_sect]
activate = 1
[legacy_sect]
activate = 1`**
Thank You!!
from hwi.
Ubuntu 22.10 currently ships with OpenSSL 3.0.5 so this issue may be around for a while. The workaround worked for me. Maybe we should check for it directly so the error is less cryptic?
Update: the workaround broke DNS on my system, with commands like dig
causing a panic because it couldn't get random data.
from hwi.
Just a note that I also seem to have just hit this OpenSSL issue (slightly different circumstances) and the workaround also worked for me (so far no obvious side-effects; dig
continues to work).
Circumstance: running hwi displayaddress
with a Trezor:
hwi -t trezor -d webusb:003:2 displayaddress --desc sh(wsh(sortedmulti(...)))#...
{"error": "unsupported hash type ripemd160", "code": -7}
For anyone else stumbling on this issue, note that this test returns "0" for everything when ripemd isn't available:
Can you try
openssl speed ripemd160
?
from hwi.
Related Issues (20)
- Ledger: Unable to sign non-standard derivation paths
- Support displaying Taproot addresses on Coldcard Edge (6+) firmware
- Bitbox fails to sign PSBT HOT 6
- ci bug HOT 1
- Support Trezor Safe 3 HOT 6
- Documentation: Typo?
- Trezor T can't sign >100 inputs HOT 12
- [Feature Request] Add ability to pass cli arguments with stdin HOT 3
- Windows thinks hwi.exe is a trojan HOT 8
- HWI issue with Trezor One and Sparrow (slow loading times)
- Conflict when more than wallet is connected via USB HOT 3
- pyside2 is deprecated, use pyside6 HOT 1
- Windows thinks the linux distribution is a trojan HOT 1
- Build with ubuntu-20.04 rather than ubuntu-latest HOT 2
- Any plan to support QA based AirGap Bitcoin hardware wallet ? HOT 2
- ✅
- The currently released 3.0.0 Linux binaries fail on Ubuntu 20.04 with `version 'GLIBC_2.35' not found`.
- $ bitcoin-core.
- Mac installation problems HOT 1
- Does hwi support "script path signing"?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hwi.