Skip to content

nkd3v/csc-public

Repository files navigation

CSC Specification Implementation

This project implements the CSC (Cloud Signature Consortium) specification, providing a CSC-compliant API, client, and custom certificate authority for internal use and testing.

Key Components

  • ca/: Internal certificate authority implementation, used for issuing certificates for the CSC-compliant API
  • csc/: CSC-compliant API implementation
  • csc-client-cli/: Example CSC-compliant client for demonstration of integration
  • keycloak/: Database and configuration of users for Keycloak, used by the CSC-compliant API as an IdP via OpenID Connect
  • nginx/: Configuration for Nginx reverse proxy, handling SSL/TLS encryption and domain routing
  • sonarqube/: Docker Compose configuration file for SonarQube integration with the CSC-compliant API code assessment
  • envs/: Application configurations for the project
  • deps/: Project dependencies, such as Utimaco PKCS#11 handler and configuration
  • compose.yaml: Docker Compose configuration for running the project

Getting Started

Start the Project

To start the CSC-compliant API, CSC client, certificate authority, Keycloak, PostgreSQL, and Nginx, run:

docker compose up -d --build

Usage

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

Unit Testing

To run unit tests:

cd csc
npm test

Stop the Project

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

Tooling

TOTP Authenticator:

./csc-client-cli/totp-cli

License

See the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published