WorldHealthOrganization / tng-ddcc-cli

Command Line Tool for European Digital Green Certificate project.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

EU Digital COVID Certificate CLI

AboutInstallationDevelopmentSupportContributeContributorsLicensing

About

The DGC-CLI provides a toolchain for manually interacting with DGC Components. This list gives an overview of the possibilities. For detailed information use the built-in help.

  • Signing
    • Envelope a Certificate in signed CMS message (e.g. for Upload of DSC to DGC Gateway)
    • Envelope a String in signed CMS message (e.g. for Upload of Validation-Rules to DGC Gateway)
    • Envelope a File in signed CMS message
    • Verify enveloped certificate, string or file in signed CMS message
  • TrustAnchor
    • Sign a certificate with a TrustAnchor for usage in DGC Gateway

Installation

You need to have a JRE (minimum version 11) installed on your system. Also the java executable should be available in your PATH variable.

  1. Download latest build from Releases
  2. Extract ZIP-File to a path of your choice
  3. Add the Path to your PATH variable
  4. Check your installation
    dgc --version
    

Development

Whether you cloned or downloaded the 'zipped' sources you will either find the sources in the chosen checkout-directory or get a zip file with the source code, which you can expand to a folder of your choice.

In either case open a terminal pointing to the directory you put the sources in. The local build process is described afterwards depending on the way you choose.

Prerequisites

  • OpenJDK 11 (with installed keytool CLI)
  • Maven
  • Authenticate to Github Packages

Authenticating to GitHub Packages

As some of the required libraries (and/or versions are pinned/available only from GitHub Packages) You need to authenticate to GitHub Packages The following steps need to be followed

  • Create PAT with scopes:
    • read:packages for downloading packages
  • Copy/Augment ~/.m2/settings.xml with the contents of settings.xml present in this repository
    • Replace ${app.packages.username} with your github username
    • Replace ${app.packages.password} with the generated PAT

Maven based build

Building this project is done with maven.

mvnw install

Will download all required dependencies, build the project and stores the artifact in your local repository.

Support and feedback

The following channels are available for discussions, feedback, and support requests:

Type Channel
Gateway issues
CLI issues
DGC Lib issues
Other requests

How to contribute

Contribution and feedback is encouraged and always welcome. For more information about how to contribute, the project structure, as well as additional contribution information, see our Contribution Guidelines. By participating in this project, you agree to abide by its Code of Conduct at all times.

Contributors

Our commitment to open source means that we are enabling -in fact encouraging- all interested parties to contribute and become part of its developer community.

Licensing

Copyright (C) 2021 T-Systems International GmbH and all other contributors

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.

You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the LICENSE for the specific language governing permissions and limitations under the License.

About

Command Line Tool for European Digital Green Certificate project.

License:Apache License 2.0


Languages

Language:Java 98.1%Language:JavaScript 1.8%Language:Batchfile 0.1%