Skip to content

[PULP-1352] Add Sequoia (sq) backend support to add-signing-service - #7946

Open
dralley wants to merge 1 commit into
pulp:mainfrom
dralley:pqc-signing-service
Open

[PULP-1352] Add Sequoia (sq) backend support to add-signing-service#7946
dralley wants to merge 1 commit into
pulp:mainfrom
dralley:pqc-signing-service

Conversation

@dralley

@dralley dralley commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

The add-signing-service management command previously hardcoded GPG for key metadata extraction, preventing use with key types GPG cannot handle (OpenPGP v6, ML-DSA/post-quantum). This adds a --backend option that accepts "gpg" (default, existing behavior) or "sq" (Sequoia). Both backends reuse --gnupghome and --keyring, mapped to the equivalent sq CLI flags. The sq backend uses sq cert export to retrieve the public key and pysequoia to parse the fingerprint.

Test infrastructure gains parallel Sequoia fixtures and helpers (import_signing_key_sq, make_sq_signing_script, create_signing_service_sq) and both signing service tests are parametrized to run with both backends.

Assisted-By: Claude Opus 4.6
closes #7479

Comment thread pulpcore/app/management/commands/add-signing-service.py Outdated
@dralley
dralley force-pushed the pqc-signing-service branch from d195d4d to 8663b89 Compare August 6, 2026 03:37
@dralley
dralley force-pushed the pqc-signing-service branch from 8663b89 to 7d63a0b Compare August 6, 2026 03:38
Comment thread CHANGES/plugin_api/+pqc.feature Outdated
@dralley
dralley force-pushed the pqc-signing-service branch from 7d63a0b to af0b384 Compare August 6, 2026 03:41
Comment thread pyproject.toml Outdated
@dralley
dralley force-pushed the pqc-signing-service branch 2 times, most recently from 2ed5b68 to 47e1292 Compare August 6, 2026 13:30
Comment thread pulpcore/app/management/commands/add-signing-service.py Outdated
@dralley
dralley force-pushed the pqc-signing-service branch 2 times, most recently from b52df98 to 9e80bde Compare August 6, 2026 23:56
@dralley
dralley marked this pull request as ready for review August 7, 2026 03:04
@dralley
dralley requested a review from mdellweg August 7, 2026 03:22
The add-signing-service management command previously hardcoded GPG for
key metadata extraction, preventing use with key types GPG cannot handle
(OpenPGP v6, ML-DSA/post-quantum). This adds a --backend option that
accepts "gpg" (default, existing behavior) or "sq" (Sequoia). Both
backends reuse --gnupghome and --keyring, mapped to the equivalent sq
CLI flags. The sq backend uses `sq cert export` to retrieve the public
key and pysequoia to parse the fingerprint.

Test infrastructure gains parallel Sequoia fixtures and helpers
(import_signing_key_sq, make_sq_signing_script, create_signing_service_sq)
and both signing service tests are parametrized to run with both backends.

Assisted-By: Claude Opus 4.6
closes pulp#7479
@dralley
dralley force-pushed the pqc-signing-service branch from 9e80bde to fe38811 Compare August 7, 2026 03:30
Comment thread pulpcore/pytest_plugin.py
@pytest.fixture(scope="session")
def sq_signing_metadata(sq_signing_home_path):
"""A fixture that returns Sequoia signing metadata (i.e., fingerprint, keyid)."""
return import_signing_key(KEY_V6_ED25519_PRIVATE, sq_signing_home_path, backend="sq")

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a non-PQC, OpenPGPv6 key, so it should work with older versions of sequoia but still test something which GPG cannot do.

@dralley dralley changed the title Add Sequoia (sq) backend support to add-signing-service [PULP-1352] Add Sequoia (sq) backend support to add-signing-service Aug 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove dependence on GPG (or ensure we are agnostic to a specific GPG implementation)

3 participants