This project implements the CSC (Cloud Signature Consortium) specification, providing a CSC-compliant API, client, and custom certificate authority for internal use and testing.
ca/: Internal certificate authority implementation, used for issuing certificates for the CSC-compliant APIcsc/: CSC-compliant API implementationcsc-client-cli/: Example CSC-compliant client for demonstration of integrationkeycloak/: Database and configuration of users for Keycloak, used by the CSC-compliant API as an IdP via OpenID Connectnginx/: Configuration for Nginx reverse proxy, handling SSL/TLS encryption and domain routingsonarqube/: Docker Compose configuration file for SonarQube integration with the CSC-compliant API code assessmentenvs/: Application configurations for the projectdeps/: Project dependencies, such as Utimaco PKCS#11 handler and configurationcompose.yaml: Docker Compose configuration for running the project
To start the CSC-compliant API, CSC client, certificate authority, Keycloak, PostgreSQL, and Nginx, run:
docker compose up -d --build
Execute the following command and follow the instructions:
./csc-client-cli/csc-cli
Default signing credential:
| Username | Password |
|---|---|
| alice | alice |
Default KeyCloak admin credential:
| Username | Password |
|---|---|
| admin | admin |
To run unit tests:
cd csc
npm test
To stop the project and remove volumes:
docker compose down -v -t 0
Or, to stop the project without removing volumes:
docker compose down -t 0
TOTP Authenticator:
./csc-client-cli/totp-cli
See the LICENSE file for details.