apache / apache/gravitino

[Subtask] M5: Protocol/cipher constraints and system-truststore mTLS

Open
#12,303 0 comments 0 reactions 0 assignees View on GitHub
subtask
Dominant language
Java
Stars
3.2k
Forks
935
Avg merge
1d 15h
Merged PRs (30d)
315

Description

### Describe the subtask

The completeness milestone — closing the two journeys the core work leaves open.

**Policy constraints.** The configurer contract carries protocol and
cipher-suite restrictions, but the helper doesn't expose them — so a deployment
that must enforce TLS 1.3 today has to hand-implement the interface. Compliance
requirements shouldn't demand custom code.

**System-truststore mTLS.** The helper requires an explicit truststore. A client
talking to a server with a publicly-trusted certificate, while presenting its
own client certificate, has no way to say "default trust, my keystore." That
combination is currently inexpressible through the helper.

## Deliverable

- Protocol and cipher-suite configuration through the helper, not only via the
interface.
- A keystore-only path: client certificate with the platform's default trust.

## Acceptance criteria

- [ ] A deployment can enforce TLS 1.3 (or a cipher list) through the helper
alone
- [ ] A test proves the constraint binds: a handshake outside the permitted
protocols actually fails
- [ ] Client-cert-with-default-trust is expressible and tested against a
trusted server certificate
- [ ] Docs updated for both

Depends on: M3 (and M4 if the helper surface moves).

### Parent issue

#9836

Contributor guide

Open the contributing guide

Research direction

Read parent issue #9836 and the M3/M4 work first, then trace the helper and configurer surfaces they introduce. Add handshake coverage for protocol or cipher rejection and client-certificate use with default trust, and update the related documentation. Done means both acceptance journeys work through the helper alone.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.