Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for eth_getEncryptionPublicKey and eth_decrypt (EIP-1024) #189

Closed
safisynai opened this issue Sep 11, 2021 · 13 comments
Closed

Support for eth_getEncryptionPublicKey and eth_decrypt (EIP-1024) #189

safisynai opened this issue Sep 11, 2021 · 13 comments
Labels
enhancement New feature or request

Comments

@safisynai
Copy link

These methods, as implemented by Metamask respectively allow a Dapp to obtain a public key appropriate for encryption, and decrypt an encrypted payload using a private key derived from an Ethereum account's private key.

At least one Dapp already makes use of these methods; Tornado.cash, which uses these to encrypt a backup copy (which is stored on-chain) of private notes required to redeem deposits.

It would be great if we could use these methods with our Ledger-backed keys :)

References:
ethereum/EIPs#1098
https://docs.metamask.io/guide/rpc-api.html#other-rpc-methods

@pscott pscott added the enhancement New feature or request label Sep 22, 2021
@colinnielsen
Copy link

Any thoughts from Ledger on this? It would be great if this was implemented

@ghost
Copy link

ghost commented Nov 2, 2021

Hello, thank you for this idea, it is currently not in our roadmap but we could take a look at it, probably beginning of next year.

While we are discussing Tornado.cash, feel free to have a look at https://torn.community/t/tornado-cash-in-ledger-live/1735 this would definitely help pushing these topics.

Thank you,
Adrien

@lksdfkj3298sKL
Copy link

Any updates on this?

@lksdfkj3298sKL
Copy link

I'm building an app that needs encryption/decryption support for messages. Currently only supports MetaMask. Would be great for ledger support as well.

@pepawel
Copy link

pepawel commented May 29, 2022

Skiff requires this, so +1

@iknowdavid
Copy link

I'll plus one this issue too unfortunately: 401884

@firnprotocol
Copy link

bumping this; would be great to see this feature. any updates by any chance?

@cseguret-ledger
Copy link
Contributor

Resolves #240

@firnprotocol
Copy link

are you saying that this issue is now resolved? is the fix live in ledger? (do i need to update ledger live? or...)

@pepawel
Copy link

pepawel commented Jul 4, 2022

@firnprotocol I'm not in a dev team, however I upgraded my Ledger's firmware today and can confirm Skiff works. It probably means the issue is resolved.

EDIT: The problem with Skiff is still there with current Ledge's firmware and updated Ethereum app. I'm sorry I haven't checked this deeply enough before. Currently Skiff offers 1) assigning wallet to email address and 2) logging in using wallet. I tried the first successfully and assumed the second works. It does not.

I don't know exactly what the source of the problem with Skiff and/or Ledger is now, but the fact is I still can't login to Skiff using Metamask with Ledger, while I'm able to login using Metamask itself.

@firnprotocol
Copy link

@pepawel excellent, thanks for the heads-up—though it looks like now MetaMask needs to update itself to not throw an error in this case? (see lined issue above)

@firnprotocol
Copy link

@pepawel saw your edits.

right, the problem is that when you call eth_getEncryptionPublicKey with a Ledger logged in, MetaMask throws:

{
    code: -32603
    message: "Ledger does not support eth_getEncryptionPublicKey."
    ...
}

this is because of this pull request, which essentially defined this error behavior—under the assumption that Ledger doesn't support it.

Now that Ledger does support this (see above), I think MetaMask needs to re-visit this error behavior and disable it. that's my read. i haven't gotten a response from them yet though.

@pepawel
Copy link

pepawel commented Jul 6, 2022

@firnprotocol thank you for explaining the issue, it definitely makes sense!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

8 participants