docs: add comprehensive README documentation

- Add detailed project overview and features
    - Include installation and setup instructions
    - Document all supported certificate types
    - Add usage examples and API documentation
    - Include security features and deployment guidelines
    - Add project structure and testing information
    - Provide contribution guidelines and support information
This commit is contained in:
Björn Benouarets
2025-09-30 11:47:08 +02:00
parent 36ab86854c
commit 178d4b807d

View File

@@ -5,6 +5,7 @@ CertMan is a comprehensive, enterprise-grade certificate management system built
## 🚀 Features
### Core Functionality
- **Certificate Authority Management**: Create and manage root and intermediate CAs
- **Certificate Lifecycle Management**: Generate, validate, revoke, and renew certificates
- **Multiple Certificate Types**: Support for web, client, email, code signing, IoT, VPN, and more
@@ -13,6 +14,7 @@ CertMan is a comprehensive, enterprise-grade certificate management system built
- **Comprehensive Validation**: Built-in validation for certificate requests and attributes
### Enterprise Features
- **Multi-Organization Support**: Manage certificates across multiple organizations
- **User Management**: Role-based access control and user authentication
- **Audit Trail**: Complete logging and tracking of certificate operations
@@ -78,7 +80,7 @@ go build -o certman main.go
```
certman/
├── certificate/ # Certificate management services
├── certificate/ # Certificate management services
│ ├── authority.go # Certificate Authority service
│ ├── certificate.go # Certificate service
│ └── utils/ # Certificate utilities
@@ -86,12 +88,12 @@ certman/
├── database/ # Database connection and migrations
├── models/ # Data models and types
├── repositories/ # Data access layer
├── storage/ # File storage management
├── storage/ # File storage management
├── utils/ # Utility functions
├── data/ # Certificate and key storage (excluded from git)
├── main.go # Application entry point
├── go.mod # Go module definition
└── README.md # This file
├── main.go # Application entry point
├── go.mod # Go module definition
└── README.md # This file
```
## 🔧 Usage Examples
@@ -156,69 +158,83 @@ certificate, err := certService.CreateCertificate(req)
CertMan supports a wide range of certificate types for various enterprise use cases:
### Web & Server Certificates
- `web` - HTTPS/TLS web server certificates
- `server` - General server certificates
### Client Certificates
- `client` - Client authentication certificates
- `user` - User identity certificates
### Email Certificates
- `email` - S/MIME email certificates
### Code Signing
- `code` - Code signing certificates
### IoT & Devices
- `iot` - Internet of Things certificates
- `device` - Device certificates
- `sensor` - Sensor device certificates
### VPN Certificates
- `vpn` - VPN certificates
- `openvpn` - OpenVPN specific certificates
- `wireguard` - WireGuard specific certificates
### Database Certificates
- `database` - Database connection certificates
- `mysql` - MySQL specific certificates
- `postgresql` - PostgreSQL specific certificates
- `mongodb` - MongoDB specific certificates
### API & Services
- `api` - API service certificates
- `service` - Microservice certificates
- `microservice` - Microservice architecture certificates
### Container & Orchestration
- `docker` - Docker container certificates
- `kubernetes` - Kubernetes cluster certificates
- `container` - Container orchestration certificates
### Cloud & Infrastructure
- `cloud` - Cloud service certificates
- `aws` - Amazon Web Services certificates
- `azure` - Microsoft Azure certificates
- `gcp` - Google Cloud Platform certificates
### Network & Security
- `network` - Network infrastructure certificates
- `firewall` - Firewall certificates
- `proxy` - Proxy server certificates
- `loadbalancer` - Load balancer certificates
### Mobile & Applications
- `mobile` - Mobile application certificates
- `android` - Android specific certificates
- `ios` - iOS specific certificates
- `app` - Application certificates
### Document & File Signing
- `document` - Document signing certificates
- `pdf` - PDF signing certificates
- `office` - Microsoft Office signing certificates
### Specialized Certificates
- `timestamp` - Time stamping certificates
- `ocsp` - OCSP responder certificates
- `custom` - Custom certificate types
@@ -253,12 +269,14 @@ go test -cover ./...
The application provides a comprehensive API for certificate management operations. Key endpoints include:
- **Certificate Authority Management**
- Create Root CA
- Create Intermediate CA
- List CAs
- Get CA Details
- **Certificate Management**
- Generate Certificate
- Validate Certificate
- Revoke Certificate