Skip to content

Steps to Build your Verifier

How to Build Backend

Download the repository locally using:

git clone git@github.com:eu-digital-identity-wallet/eudi-srv-web-verifier-endpoint-23220-4-kt.git

To start the service locally you can execute

./gradlew bootRun
To build a local docker image of the service execute
./gradlew bootBuildImage

How to Build the UI

Download the repository locally using:

git clone git@github.com:eu-digital-identity-wallet/eudi-web-verifier.git

Run ng build to build the project. The build artifacts will be stored in the dist/ directory.

Run all verifier components together

To start both verifier UI and verifier backend services together a docker compose file has been implemented that can be found here. Running the command below will start the following service: - verifier: The Verifier/RP trusted end-point, - verifier-ui: The Verifier's UI application and - haproxy: A reverse proxy for SSL termination. - To change the ssl certificate update haproxy.pem. - To reconfigure haproxy update file haproxy.conf.

To start the docker compose environment

# From project root directory 
cd docker
docker-compose up -d
To stop the docker compose environment
# From project root directory 
cd docker
docker-compose down

The 'verifier' service can be configured by setting its configuration properties by setting them as environment variables of the service in docker-compose.yaml.

Example:

  verifier:
    image: ghcr.io/eu-digital-identity-wallet/eudi-srv-web-verifier-endpoint-23220-4-kt:latest
    container_name: verifier-backend
    ports:
      - "8080:8080"
    environment:
      VERIFIER_PUBLICURL: "https://10.240.174.10"
      VERIFIER_RESPONSE_MODE: "DirectPost"
      VERIFIER_JAR_SIGNING_KEY_KEYSTORE: file:///keystore.jks

Mount external keystore to be used with Authorization Request signing

When property VERIFIER_JAR_SIGNING_KEY is set to LoadFromKeystore the service can be configured (as described here) to read from a keystore the certificate used for signing authorization requests. To provide an external keystore mount it to the path designated by the value of property VERIFIER_JAR_SIGNING_KEY_KEYSTORE.

Example:

  verifier:
    image: ghcr.io/eu-digital-identity-wallet/eudi-srv-web-verifier-endpoint-23220-4-kt:latest
    container_name: verifier-backend
    ports:
      - "8080:8080"
    environment:
      VERIFIER_PUBLICURL: "https://10.240.174.10"
      VERIFIER_RESPONSE_MODE: "DirectPost"
      VERIFIER_JAR_SIGNING_KEY_KEYSTORE: file:///certs/keystore.jks
    volumes:
      - <PATH OF KEYSTORE IN HOST MACHINE>/keystore.jks:/certs/keystore.jks