Done
Details
Assignee
Azizbek KhushvakovAzizbek KhushvakovReporter
Taras SpashchenkoTaras SpashchenkoLabels
Priority
TBDStory Points
0.5Sprint
NoneDevelopment Team
ThunderjetFix versions
Release
Quesnelia (R1 2024) Bug FixTestRail: Cases
Open TestRail: CasesTestRail: Runs
Open TestRail: Runs
Details
Details
Assignee
Azizbek Khushvakov
Azizbek KhushvakovReporter
Taras Spashchenko
Taras SpashchenkoLabels
Priority
Story Points
0.5
Sprint
None
Development Team
Thunderjet
Fix versions
Release
Quesnelia (R1 2024) Bug Fix
TestRail: Cases
Open TestRail: Cases
TestRail: Runs
Open TestRail: Runs
Created May 6, 2024 at 11:44 AM
Updated December 30, 2024 at 3:12 PM
Resolved May 28, 2024 at 1:16 PM
To ensure secure communication between our FOLIO edge-connexion module and OKAPI servers, the WebClient utilized must be capable of establishing secured connections using TLS. This enhancement is aimed at providing robust, configurable TLS support, allowing for flexible trust management based on the environment in which the WebClient operates.
Requirements:
TLS Configuration:
Introduce a boolean configuration parameter (
webClientEnableTLS
for example) to toggle TLS for the WebClient.Implement logging for TLS activation to ensure traceability and aid in debugging.
Trust Store Management:
Provide a configuration parameter (
webClientTrustStorePath
for example) to specify the file path for the trust store when required.Include a parameter (
webClientTrustStorePassword
for example) for the password needed to access the trust store.Ensure that the system can accept and correctly handle the JKS format of trust stores.
Support for Public Trusted Certificates:
The WebClient should automatically support connections to servers using certificates from Public Trusted Certificate Authorities (CAs) without requiring a specific trust store configuration.
This includes configurations for environments where Web/HTTP clients communicate through AWS Application Load Balancers (ALBs), which use certificates issued by trusted CAs. In such cases, the WebClient should operate without a specified trust store.
Documentation and Examples:
Provide comprehensive documentation covering the setup and configuration of TLS and trust store management in the WebClient.
Include example configurations demonstrating how to enable TLS, configure a trust store, and connect to servers with both private and public certificates.
Testing:
Develop unit and integration tests to verify that the WebClient can successfully connect using both secured and non-secured configurations.
Test scenarios should include connections to endpoints with self-signed certificates, private CA certificates, and certificates from public CAs.
Ensure that all configurations are covered, including those without a trust store.
Error Handling:
Implement clear, user-friendly error messages for common misconfigurations or TLS errors.
Ensure the WebClient gracefully handles incorrect or missing trust store paths or passwords.
Acceptance Criteria:
The WebClient must support enabling and disabling TLS through configuration.
It must handle both specified and default trust stores correctly.
Connections through AWS ALBs without specifying a trust store must be supported and function correctly.
All functionalities must be validated by tests that confirm the WebClient operates as expected under various security configurations.
Documentation must be clear, detailed, and provide actionable guidance for setting up secure connections.