Ledger Open Source Java CardLatest release: v1.0-fidesmo ( 27th January 2016 ) 🔍 Last analysed 20th May 2022 . Bad Interface Not functioning anymore
Help spread awareness for build reproducibility
Please help us spread the word discussing build reproducibility with Ledger Open Source Java Card via their Twitter!
Do your own research!
Try out searching for "lost bitcoins", "stole my money" or "scammers" together with the wallet's name, even if you think the wallet is generally trustworthy. For all the bigger wallets you will find accusations. Make sure you understand why they were made and if you are comfortable with the provider's reaction.
The Analysis ¶
The Ledger Open Source Java Card applet is also known as
This applet is an implementation of the Ledger Wallet Hardware Wallet specification emulating an NFC Forum Type 4 tag to display the second factor, with specific extensions
It is compatible with the core API with a few limitations if not using a proprietary API to recover public keys - the public key cache needs to be provisioned from the client side.
A demonstration of this application and workaround if no proprietary API is present is provided in the Python API and also in Mycelium
Several other integration examples are provided on Ledger Unplugged product page
Developers can also check if a Java Card platform is supported and its performance with the Eligibility applet
You can still find the product page for the Ledger Open Source Java Card on archive.org
You can buy the a NFC card directly on Fidesmo’s website (http://shop.fidesmo.com/) and then buy the Ledger app. It’ll be a full equivalent of the Unplugged.
We stopped selling it (the Ledger Unplugged) directly because there was too much customer support needed: NFC is not working well (generally speaking) and depending of the phone and the environment the communication with the card didn’t work well all the time.
Nicolas Bacca had this to add:
also Fidesmo provides more form factors for you to choose from (such as directly running it on a yubikey)
The Ledger Open Source Java Card has no interface and is no longer in production.
The design of the device does not allow to verify what is being signed!
As part of our Methodology, we ask:
Can the user verify and approve transactions on the device?If the answer is "no", we mark it as "Bad Interface".
These are devices that might generate secure private key material, outside the reach of the provider but that do not have the means to let the user verify transactions on the device itself. This verdict includes screen-less smart cards or USB-dongles.
The wallet lacks either an output device such as a screen, an input device such as touch or physical buttons or both. In consequence, crucial elements of approving transactions is being delegated to other hardware such as a general purpose PC or phone which defeats the purpose of a hardware wallet.
Another consquence of a missing screen is that the user is faced with the dilemma of either not making a backup or having to pass the backup through an insecure device for display or storage.
The software of the device might be perfect but this device cannot be recommended due to this fundamental flaw.
But we also ask:
Is the product still supported by the still existing provider?If the answer is "no", we mark it as "Not functioning anymore".
Discontinued products or worse, products of providers that are not active anymore, are problematic, especially if they were not formerly reproducible and well audited to be self-custodial following open standards. If the provider hasn’t answered inquiries for a year but their server is still running or similar circumstances might get this verdict, too.
Share onTwitter Facebook LinkedIn
Or embed a widget in your website
<iframe src="https://walletscrutiny.com/widget/#appId=hardware/ledger.osjavacard&theme=auto&style=short" name="_ts" style="min-width:180px;border:0;border-radius:10px;max-width:280px;min-height:30px;"> </iframe>
<iframe src="https://walletscrutiny.com/widget/#appId=hardware/ledger.osjavacard&theme=auto&style=long" style="max-width:100%;width:342px;border:0;border-radius:10px;min-height:290px;"> </iframe>