Server rejects OpenPGP certificates without encryption subkey

Open
#149 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
javascript

Research direction

Start by tracing the key validation path used by both the HKP upload and web form, then reproduce the 400 response with a signing-only OpenPGP certificate. Check how the validator handles certificates without encryption subkeys and revocation certificates. Done means valid signing-only certificates are accepted through both upload paths without weakening other validation.

Written by the indexing model from the issue text.

Description

Trying to add my code signing key via hkp fails with 400 bad request, and uploading via the web form reveals:

 Error! Invalid PGP key. No valid encryption key found: Could not find valid encryption key packet in key 31855247603831fd 

I think this is rather unfortunate, as having a separate OpenPGP certificate for code signing is a way to separate concerns, i.e. no signature over a git object can ever be mistaken for a signature made by my main certificate.

Other useful OpenPGP certificates without encryption subkeys are certificate revocations (note that the same composition is useful for v4 certificate revocations: the bare signature lacks context, pairing it with the primary key provides that context).

Dominant language
JavaScript
Stars
481
Forks
80
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from mailvelope/keyserver

All issues in mailvelope/keyserver

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.