Skip to content

Custom CA shell scripts - #14

Open
svethitov wants to merge 5 commits into
mainfrom
custom_ca
Open

Custom CA shell scripts#14
svethitov wants to merge 5 commits into
mainfrom
custom_ca

Conversation

@svethitov

Copy link
Copy Markdown
Contributor

🚀 Pull Request Checklist

  • Title: Custom CA Shell scripts

  • Description:
    Add a couple of shell scripts that allow the FDP Schema Update Tool to be executed against an endpoint served with a Custom CA Certificate.

  • Context: Some FDP endpoints might be served with custom Certificate Authorities. This allows for flexible addition of trusted Root certificates at runtime without rebuilding the docker image.

  • Changes:

    • Added: A couple of shell scripts. The first allows for the creation of a custom trust store. The second allows for the usage of the trust store.
  • Testing:

    • The shell scripts have been used to apply the schema definitions to two instances (dev and staging) at the Bulgarian GDI node.
  • Screenshots (if applicable):

    • NA
  • Additional Information:

    • NA
  • Checklist:

    • I have checked that my code adheres to the project's style guidelines and that my code is well-commented.
    • I have performed self-review of my own code and corrected any misspellings.
    • I have made corresponding changes to the documentation (if applicable).
    • My changes generate no new warnings or errors.
    • I have added tests that prove my fix is effective or that my feature works.
    • New and existing unit tests pass locally with my changes.

Add a couple of shell scripts that allow for running the FDP Schema Update Tool with custom CA trust.
@svethitov svethitov self-assigned this Feb 23, 2026
@svethitov
svethitov requested a review from hcvdwerf February 23, 2026 21:48

@hcvdwerf hcvdwerf left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have a question about this
If the FDP is publicly exposed and uses a certificate issued by a publicly trusted CA (e.g., Let’s Encrypt, DigiCert, GlobalSign), the default JVM truststore should already validate the TLS chain correctly. In that scenario, introducing a custom truststore does not improve security but does introduce additional operational complexity:

  • Extra scripts and maintenance burden
  • Volume mounts and JVM configuration flags
  • Additional failure modes (PKIX issues, mismatches, etc.)

@svethitov

svethitov commented Feb 24, 2026

Copy link
Copy Markdown
Contributor Author

@hcvdwerf, I agree with you that it adds operational complexity. The use case for this is if the FDP endpoint is not publicly available. For example, at our node we have two instances of the GDI FDP, at the moment. Development and Staging environment. We have no plans for exposing the dev environment, not even to the rest of the GDI network. It is just for internal testing. When it is just internal there is no point using publicly trusted CA.

As I mentioned during one of the WP4 meetings, we do have our reservations about exposing publicly the FDP and the AF Beacon for the moment. We were actually planning to expose only the internal proxy to the GDI portal and the Beacon Network.

microservices-architecture

Furthermore, when working internally, for example applying changes with the schema tool, we are doing this directly through internal clients.

Comment thread schema-tool/custom_ca.sh
@@ -0,0 +1,28 @@
#!/bin/sh

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you add license information in the top?

for example

#!/usr/bin/env bash

SPDX-FileCopyrightText: Stichting Health-RI

SPDX-License-Identifier: AGPL-3.0-only

Comment thread schema-tool/README.md
Comment thread schema-tool/run.sh
@@ -0,0 +1,29 @@
#!/bin/sh

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also here ;-)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hcvdwerf I've added SPDX field but honestly I might have done it wrong. Who should be the copyright owner. Is it the individual country nodes or is it the 1PLUSMG initiative (I do not thing we have a legal entity yet).

@hcvdwerf hcvdwerf left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please resolve comments

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.

2 participants