Live data from Hacker News

Sq, Sequoia PGP's CLI, Released

sequoia-pgp.org

1–10 of 16 posts

Re: Sq, Sequoia PGP's CLI, Released

#2
I could be mistaken, but it looks like the only thing they are missing (and acknowledge - kudos) is the ability to create multiple sub-keys i.e. a "master" public and private key that only you know, with subsequent signing and certificate sub-keys that can be revoked that are used for actual use-cases. Considering this is the recommended arrangement of your personal keyring (per the Debian docs, anyway), this seems like a rather large oversight. Holding out hope it will be implemented in future releases, it'd be great to have another alternative to GnuPG. (And please, I get it - PGP needs replaced, it has flaws, blah blah blah. That's not what Sequoia is trying to do.)

Edit: I was wrong - if you read below, this is clarified.

Re: Sq, Sequoia PGP's CLI, Released

#3

I could be mistaken, but it looks like the only thing they are missing (and acknowledge - kudos) is the ability to create multiple sub-keys i.e. a "master" public and private key that only you know, with subsequent signing and certificate sub-keys that can be revoked that are used for actual use-cases. Considering this is the recommended arrangement of your personal keyring (per the Debian docs, anyway), this seems l…

I think you've misunderstood something. sq has no problem generating certificates with subkeys. Here's the default structure. Notice that we actually include a separate signing subkey by default. This makes it harder to use a data signature where e.g. a self signature is expected and vice verse. This can help protect against some collision attacks, among others.

  $ sq key generate -u '' --export /tmp/alice.pgp; sq inspect /tmp/alice.pgp
  /tmp/alice.pgp: Transferable Secret Key.
  
      Fingerprint: 99E2 68B5 F5A2 45E9 4A9F  A1FB F10A BDD2 C1BC 2478
  Public-key algo: EdDSA Edwards-curve Digital Signature Algorithm
  Public-key size: 256 bits
       Secret key: Unencrypted
    Creation time: 2021-02-15 21:34:45 UTC
  Expiration time: 2024-02-16 15:01:06 UTC (creation time + P1095DT62781S)
        Key flags: certification
  
           Subkey: E54F CB2B 4619 FDB9 680A  974C 94D7 9D77 395B 8A7C
  Public-key algo: EdDSA Edwards-curve Digital Signature Algorithm
  Public-key size: 256 bits
       Secret key: Unencrypted
    Creation time: 2021-02-15 21:34:45 UTC
  Expiration time: 2024-02-16 15:01:06 UTC (creation time + P1095DT62781S)
        Key flags: signing
  
           Subkey: 62BF 9E6B C022 D3FB 681F  5279 2B09 341C EDFE 0AF9
  Public-key algo: ECDH public key algorithm
  Public-key size: 256 bits
       Secret key: Unencrypted
    Creation time: 2021-02-15 21:34:45 UTC
  Expiration time: 2024-02-16 15:01:06 UTC (creation time + P1095DT62781S)
        Key flags: transport encryption, data-at-rest encryption
  
           UserID: 

Re: Sq, Sequoia PGP's CLI, Released

#4

I could be mistaken, but it looks like the only thing they are missing (and acknowledge - kudos) is the ability to create multiple sub-keys i.e. a "master" public and private key that only you know, with subsequent signing and certificate sub-keys that can be revoked that are used for actual use-cases. Considering this is the recommended arrangement of your personal keyring (per the Debian docs, anyway), this seems l…

I think you've misunderstood something. sq has no problem generating certificates with subkeys. Here's the default structure. Notice that we actually include a separate signing subkey by default. This makes it harder to use a data signature where e.g. a self signature is expected and vice verse. This can help protect against some collision attacks, among others. $ sq key generate -u ' ' --export /tmp/alice.pgp; sq in…

I wondered if I was misunderstanding something, thank you for the response and correction. It was, “For instance, it is not currently possible to add new subkeys to a certificate”, that I thought was acknowledging this, but looking closer it seems to just be different terminology [0] than I’m familiar with. Looking forward to giving this a try!

[0]https://wiki.debian.org/Subkeys

Re: Sq, Sequoia PGP's CLI, Released

#5

Earlier quoted context omitted.

I think you've misunderstood something. sq has no problem generating certificates with subkeys. Here's the default structure. Notice that we actually include a separate signing subkey by default. This makes it harder to use a data signature where e.g. a self signature is expected and vice verse. This can help protect against some collision attacks, among others. $ sq key generate -u ' ' --export /tmp/alice.pgp; sq in…

I wondered if I was misunderstanding something, thank you for the response and correction. It was, “For instance, it is not currently possible to add new subkeys to a certificate”, that I thought was acknowledging this, but looking closer it seems to just be different terminology [0] than I’m familiar with. Looking forward to giving this a try! [0] https://wiki.debian.org/Subkeys

Right. The sq cli does not have an subcommand to add new subkeys to an existing certificate. But it can use such certificates, and when it generates a certificate, it, by default, generates a certificate with subkeys.

This functionality will, of course, be added to sq (it is possible to do this using the library). We just haven't gotten to it yet. It's not that the functionality is hard to implement. But, we want to have a clean CLI, and there are many possible options. We want to expose them in a sensible way that does not overwhelm the user.

Re: Sq, Sequoia PGP's CLI, Released

#6
Any idea when the high level crate will have parity with the CLI? Or perhaps, UX parity?

I ask because the CLI looks fairly understandable (to a crypto-dunce like me), but the high level API in readme says:

> Please note that as of this writing the high-level API is very incomplete.

I'm also not sure what crate they refer to, because there is no `sequoia` crate on docs.rs, and their link points to the root of the repo which is a workspace without a crate. Perhaps they mean sequoia-openpgp[1], but so far that interface does not look similarly high level to that of the CLI.

Anyway, just asking because i often write apps that use signing/encryption/etc for data at rest, and Sq looks neat.

[1]: https://docs.rs/sequoia-openpgp/1.0.0/sequoia_openpgp/index....

Re: Sq, Sequoia PGP's CLI, Released

#7

Any idea when the high level crate will have parity with the CLI? Or perhaps, UX parity? I ask because the CLI looks fairly understandable (to a crypto-dunce like me), but the high level API in readme says: > Please note that as of this writing the high-level API is very incomplete. I'm also not sure what crate they refer to, because there is no `sequoia` crate on docs.rs, and their link points to the root of the rep…

Sequoia consists of a number of components. There is the low-level crate. We released version 1.0 of that in Dec. 2020. There is sq, the CLI tool. We released that a few weeks ago. We've barely started work on the high-level interface.

Just because we plan to write a high-level tool, doesn't mean the low-level crate is hard to use. On the contrary, our experience is that it is pretty easy to use and actually does a good job hiding a lot of the low level details that don't need to be tweaked. For instance, I ported the pep engine from gpgme (GnuPG's high-level interface) to Sequoia's low-level interface. The initial port required about half as many lines of code.

Post reply on HN