Skip to content

Conversation

@riggi-alekaj
Copy link
Collaborator

Neo4j's native cloud storage backup uses AWS CRT-based S3 clients (AwsCrtAsyncHttpClient) which:

  • Do not honor Java system properties (javax.net.ssl.trustStore)
  • Use OS-level trust store (libcrypto) instead of JSSE
  • Ignore s3SkipVerify: true setting

To solve the issue:
Extended importCustomCA() to update system CA certificates in addition to JKS truststore:

  • Copies mounted CA certificate to /usr/local/share/ca-certificates/custom-s3-ca.crt
  • Runs update-ca-certificates to refresh OS trust store
  • Maintains existing JKS truststore logic for JSSE-based clients

Changes are fully backward compatible - only activates when s3CASecretName is configured

@riggi-alekaj riggi-alekaj requested a review from bfeshti as a code owner December 9, 2025 08:30
@riggi-alekaj riggi-alekaj merged commit 59b0479 into dev Dec 12, 2025
60 of 67 checks passed
@bfeshti bfeshti deleted the custom-ca branch December 17, 2025 11:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants