Skip to content

Implement mutual TLS (mTLS) authentication for the gateway #133

@bburda

Description

@bburda

Summary

Implement mutual TLS (mTLS) authentication for the gateway to enable certificate-based client authentication, required for secure vehicle diagnostics scenarios.

The codebase has 9 TODO markers for mTLS support across configuration, server setup, and launch files. This is a planned security feature for production deployments.


Proposed solution (optional)

Configuration Parameters

  • ssl_client_cert_path - Path to CA certificate for client verification
  • ssl_verify_client - Enable/disable client certificate verification

Implementation Areas

  • tls_config.hpp - Add client_ca_cert_path and verify_client fields
  • rest_server.cpp - Configure SSL context for client verification
  • gateway.launch.py - Add launch arguments for mTLS parameters
  • gateway_https.launch.py - Add mTLS configuration

Files to Modify

  • src/ros2_medkit_gateway/config/gateway_params.yaml
  • src/ros2_medkit_gateway/include/.../tls_config.hpp
  • src/ros2_medkit_gateway/src/http/rest_server.cpp
  • src/ros2_medkit_gateway/launch/gateway.launch.py
  • src/ros2_medkit_gateway/launch/gateway_https.launch.py

Additional context (optional)

  • Current TODOs: Search for TODO.*mutual or TODO.*mTLS in codebase
  • cpp-httplib SSL documentation

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions