trustcrypto/onlykey-agent

GPG support

Closed this issue · 8 comments

Is GPG support still on the roadmap ?

Is the only problem here man hours, or is there an unsolved technical problem ? Issue #7 was never answered, but asks this question as well.

I have just received my Onlykey and would love to be able to use it as the GPG key for pass(1).

@Superpat GPG support is definitely doable, its mostly a matter of man hours although there are some technical challenges. It's still on the road map just behind some other things. If any python developers out there are up for a challenge I would be happy to work with them to implement this feature.

haplo commented

I'm also very interested in GPG support. Is this something we can port from trezor-agent? Where would one begin? If you could define the work to be done in smaller steps that would be super helpful.

@haplo Yes, we can and that was originally the plan. Trezor-agent will accept a PR to add OnlyKey support in - romanz#303

To start, I think this would involve:

Thanks again for your willingness to look into this, it would be a great improvement to get this working.

I have implemented support for OnlyKey, including:

SSH (ed25519 and nist256p1)
GPG Sign (ed25519 and nist256p1)
GPG Decrypt (curve25519 and nist256p1)

romanz/trezor-agent@master...onlykey:onlykey-agent-merge

@haplo @Superpat Let me know if you guys are interested in beta testing GPG.

haplo commented

@onlykey I am interested in beta testing. I mainly want to GPG-sign git commits. My current GPG key is RSA, so I will need to create a new one.

@haplo The GPG will work the same as the SSH so you would not need to create a key (although I am adding feature to were you can use custom key). You don't have to create a key, this is one of the main benefits to the agent, unique key is generated based on input, this is how SSH can support an unlimited number of keys - https://docs.crp.to/onlykey-agent.html

onlykey-agent test@test.com
creates a different key then
onlykey-agent test2@test.com

It is the same by default for the GPG agent. You create an identity such as <name "user@domain.com"> and a unique key is created.

GPG support has been implemented - https://docs.crp.to/upgradeguide.html