opensearch-project / opensearch-project/data-prepper

[FEATURE] Add enhanced logging for TLS handshake failures in mutual_tls authentication

Open
#6,942 0 comments 0 reactions 1 assignee View on GitHub

@divakarsingh is already working on this.

Since Jun 30, 2026.

enhancement
Dominant language
Java
Stars
374
Forks
354
Avg merge
3d 18h
Merged PRs (30d)
8

Description

Is your feature request related to a problem? Please describe.

When mutual_tls authentication is enabled (#6916), operators cannot easily distinguish
TLS handshake failures caused by client certificate rejections from network-level connection
issues. Armeria logs handshake failures at WARN level with minimal context.

Describe the solution you'd like

Add structured logging for TLS handshake failures when mutual_tls is configured, including:

  • Client IP address
  • Failure reason (e.g., "certificate not trusted", "no client certificate presented",
    "certificate expired")
  • Subject DN of the rejected certificate (if available)

This would allow operators to quickly identify:

  • Clients connecting without certificates
  • Clients using expired certificates
  • Clients signed by an untrusted CA

Implementation could use Armeria's ServerBuilder.childChannelPipelineCustomizer() to add
a Netty handler that listens for SslHandshakeCompletionEvent failures and emits a
structured log with the relevant details.

Additional context

Identified during review of #6916. Armeria's default WARN logging provides basic visibility
but does not include enough context to diagnose client-side misconfigurations.

Contributor guide

Open the contributing guide

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.