Skip to content

πŸ”’βš™οΈCertVault β€”β€” A Self-Signed SSL Certificate Issuance and Management Platform

License

Notifications You must be signed in to change notification settings

gregPerlinLi/CertVault

Logo

A Self-Signed SSL Certificate Issuance and Management Platform

Latest release CI status License Issues Closed issues Contributors Commit activity Stars GitHub Downloads

δΈ­ζ–‡ | English

🌍 What is CertVault

CertVault is a platform designed to automate the issuance, management, and lifecycle control of self-signed SSL/TLS certificates. It provides a modular architecture with features including CA certificate creation, SSL certificate issuance/renewal, detailed metadata management, RBAC-based permissions, and multi-environment deployment capabilities. The platform is built with a decoupled frontend/backend architecture using Vue.js 3 and Spring Boot 3, supporting MySQL/PostgreSQL databases and offering deployment solutions via Docker Compose and Helm Charts for Kubernetes environments. Built-in Prometheus metrics and OIDC authentication ensure robust observability and security compliance.

Dashboard CA Certificate Management
SSL Certificate Management User Management

🎯 Design Intentions

The platform was developed to address critical challenges in self-signed certificate management:

  1. Operational Complexity: Manual processes for certificate lifecycle management lead to human errors and inefficiencies in tracking expiration dates and permissions.
  2. Security Gaps: Lack of centralized encryption storage and standardized access control increases risk of credential leakage.
  3. Scalability Limitations: Traditional tools fail to adapt to modern infrastructure requirements like multi-cloud deployments and database heterogeneity.
  4. Audit Deficiencies: Absence of audit trails complicates compliance with security regulations and troubleshooting.

Key design objectives:

  • πŸ›  Automation First: Implement API-driven workflows for certificate generation and renewal
  • πŸ”’ Security by Default: Sensitive data is stored using encrypted storage, integrated with OIDC authentication system, and achieves fine-grained RBAC permission control.
  • πŸ”„ Infrastructure Flexibility: Supports Docker/Kubernetes multienvironment deployment, compatible with mainstream database systems
  • πŸ“Š Observability: Prometheus metrics for certificate expiration warnings and system performance monitoring
  • 🀝 Community-Driven: Open API specifications and modular architecture encourage third-party integration and ecosystem growth

This platform is ideal for organizations needing centralized certificate management in DevOps workflows, microservices architectures, and IoT device ecosystems where secure communication is critical.

πŸš€ Features

Core Features

  • πŸ” Certificate Management
    Supports self-signed CA creation, SSL certificate issuance, certificate details viewing, comment editing, export, and renewal
  • πŸ›  User Permissions
    RBAC-based access control with role binding, user role management, and audit logs
  • 🌐 Multi-Environment Deployment
    MySQL/PostgreSQL database support, Docker Compose and Helm Chart deployment solutions
  • πŸ” Monitoring Integration
    Prometheus metrics for monitoring integration with Grafana
  • πŸ”‘ Security Enhancements
    OIDC authentication, encrypted sensitive data storage, and granular API permissions

πŸ›  Technology Stack

🌐 Frontend

  • Vue.js 3 + Vite
  • PrimeVue UI components
  • TailwindCSS responsive styling
  • TypeScript typed development

πŸ–₯️ Backend

  • Java 17 + Spring Boot 3
  • MyBatis-Plus ORM framework
  • Druid database connection pool
  • Redis caching service
  • Helm Chart Kubernetes deployment

πŸ“¦ Others

  • Kubernetes orchestration
  • Prometheus monitoring metrics
  • Traditional/OIDC authentication
  • MySQL/PostgreSQL database

πŸ–‹οΈ Quick Start

Prerequisites

  • Docker
  • Docker Compose

Installation

git clone https://github.com/gregPerlinLi/CertVault.git
cd docker-compose
docker compose -f docker-compose-with-postgres-redis.yml up -d

πŸ“š Guidance

βš™οΈ API Documentation

CertVault API Documentation

🧰 Related Projects

πŸ“Š Statistics

Alt

🀝 Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star!

πŸ“„ Code of Conduct

Please read CODE_OF_CONDUCT.md for details on our code of conduct, and the process for submitting pull requests to us.

πŸ›‘οΈ Security

See SECURITY.md for more information.

πŸ“ LICENSE

This project is licensed under the Apache 2.0 License - see the LICENSE file for details.

About

πŸ”’βš™οΈCertVault β€”β€” A Self-Signed SSL Certificate Issuance and Management Platform

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors 3

  •  
  •  
  •