Our take
- Activity
- 61
- Community
- 19
- Issues
- 45
- Pull requests
- 44
-1 stars in the last 16 days
Overview
mkcertWeb provides a browser-based way to create and manage locally trusted TLS certificates using the mkcert command-line tool. It brings certificate generation, downloads, and lifecycle monitoring into a self-hosted application rather than requiring users to manage each task directly in a terminal.
It is aimed at developers and teams working on local or internal services, especially when certificates need to cover multiple domains or be enrolled on devices through SCEP. The project also offers optional authentication and OpenID Connect, making it possible to protect access when hosting the interface for a team.
Key Features
- Generate certificates for domains and IP addresses through a web interface.
- Download certificates in PEM, CRT, or PFX formats.
- Manage certificates by viewing, archiving, restoring, or deleting them.
- Provide SCEP enrollment for compatible devices, with challenge authentication.
- Monitor certificates for expiry and optionally send email notifications.
- Protect the application with basic authentication or OpenID Connect SSO.
- Run as a Dockerized application or install locally with Node.js, mkcert, and OpenSSL.
Use Cases
- A developer wants to issue trusted certificates for localhost or multiple local development domains without repeatedly using mkcert commands.
- A small engineering team needs a shared, self-hosted interface for certificate downloads and expiry checks.
- An administrator wants compatible iOS, macOS, or Windows devices to request certificates through SCEP.
- A team needs to protect certificate-management access with configured credentials or an OpenID Connect provider.
Getting Started
With Docker Compose:
git clone https://github.com/jeffcaldwellca/mkcertWeb.git
cd mkcertWeb
docker-compose up -d
Then open http://localhost:3000. See the README and Docker setup guide for configuration and deployment details.
Considerations
- The application depends on mkcert and its locally trusted CA model. It is intended for development and managed environments, not as a replacement for a public certificate authority.
- Local installation requires Node.js 16+, mkcert, and OpenSSL. Docker is the documented recommended starting point.
- Authentication is configurable. The README advises using a strong session secret and enabling HTTPS when authentication is enabled, so review deployment settings before exposing the service beyond a trusted network.
- The project is licensed under GPL-3.0, which may affect use and distribution in some environments.
Found this useful?
Share it with someone who would like mkcertWeb.