https://github.com/rsatrio/registrationauthority-cmp
Registration Authority using CMP Protocol
https://github.com/rsatrio/registrationauthority-cmp
cmp registration-authority
Last synced: 6 months ago
JSON representation
Registration Authority using CMP Protocol
- Host: GitHub
- URL: https://github.com/rsatrio/registrationauthority-cmp
- Owner: rsatrio
- License: mit
- Created: 2021-10-05T04:13:13.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2025-04-06T12:51:33.000Z (7 months ago)
- Last Synced: 2025-04-06T13:38:30.146Z (7 months ago)
- Topics: cmp, registration-authority
- Language: TypeScript
- Homepage:
- Size: 782 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Registration Authority using CMP Protocol
A simple registration authority(RA) website for user to signup and do certificate request. Administrator then can accept or reject the request. Tested working with CMP Interface of EJBCA Community. Setup the EJBCA to identify the website(CMP Client) as RA.

## Features
- REST Endpoint
- Authentication and Role Based Authorization with JWT
- Validation of POJO request with annotation
- Custom Appender for logging
- Dockerized
- Angular 12 Front End (modified version of https://github.com/erdkse/adminlte-3-angular)
- Enroll Certificate and Revoke Certificate using CMP Protocol
- Administrator to review certificate registration and approve or reject it.## Build Frontend
- Install nodejs
- Run this to install required NPM and build angular AdminLTE:
```shell
cd src/ra-frontend
npm install
ng build --base-href=/ra/
```## Quick Deployment
- Install docker and docker compose
- Clone this repository
- Run docker compose:
```shell
docker compose -f docker-compose.yml up
```
- See "Application Usage" section in this README## Application usage
- Go to the browser and try to open the RA-CMP app in http://localhost:9080/ra/
- Register as regular user, or use admin account (admin1@test.com / password)
- In order to successfully issued certificate, we must connect to CA Provider that provide CMP interface. I used EJBCA, and set it up to use CMP Client as RA.
- Change the "urlCmp" in config.yml pointing to available CMP Interface.
- Change the "dnRoot" value in config.yml pointing to your CA distinguished name## Feedback
For feedback, please raise issues in the issue section of the repository. Periodically, I will update the example with more real-life use case example. Enjoy!!.