apache / apache/airavata-custos

CA public key in OpenSSH format endpoint

Open
#447 0 comments 0 reactions 0 assignees View on GitHub
SIGNER
Dominant language
Go
Stars
21
Forks
39
Avg merge
2d 18h
Merged PRs (30d)
6

Description

The service exposes CA public keys in JWK format via `GET /api/v1/jwks`, which is useful for programmatic verification. But when an HPC admin sets up a login node to trust the signer's CA, they need the key in OpenSSH `authorized_keys` format for `sshd_config`'s `TrustedUserCAKeys` directive. Converting between formats manually is error-prone.

- Add `GET /api/v1/ca-public-key` returning the current CA public key as ` `
- Also return the `next` key if one exists, so admins can pre-trust it before a CA rotation
- Requires client authentication (same as the JWKS endpoint)
- With this, onboarding a new login node is as simple as: `curl ... /api/v1/ca-public-key >> /etc/ssh/trusted_cas`

Contributor guide

Open the contributing guide

Research direction

Start by reading the existing GET /api/v1/jwks endpoint and its client-authentication path. Add GET /api/v1/ca-public-key with the current CA key and any next key in OpenSSH authorized_keys format; done means the endpoint supports the described curl-based TrustedUserCAKeys onboarding flow.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
api, authentication, security
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.