PHPackages                             forrest79/dev-certs - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Security](/categories/security)
4. /
5. forrest79/dev-certs

ActiveLibrary[Security](/categories/security)

forrest79/dev-certs
===================

Create SSL wildcards domain certificates with own certificate authority for and ONLY for development.

v0.2.2(2y ago)01.3kBSD-3-ClauseShell

Since Oct 28Pushed 1y ago1 watchersCompare

[ Source](https://github.com/forrest79/dev-certs)[ Packagist](https://packagist.org/packages/forrest79/dev-certs)[ RSS](/packages/forrest79-dev-certs/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (7)Used By (0)

Forrest79/DevCerts
==================

[](#forrest79devcerts)

[![Version](https://camo.githubusercontent.com/3c66949c86e47610ba51ff3ae4894bf1cddfad42984bbdfeaaa3dab07e326a60/68747470733a2f2f706f7365722e707567782e6f72672f666f727265737437392f6465762d63657274732f76657273696f6e)](//packagist.org/packages/forrest79/dev-certs)[![Monthly Downloads](https://camo.githubusercontent.com/4d5f19450850910b4512ce9b0ba392d419bbaa2b9e3e464289229152f19a7838/68747470733a2f2f706f7365722e707567782e6f72672f666f727265737437392f6465762d63657274732f642f6d6f6e74686c79)](//packagist.org/packages/forrest79/dev-certs)[![License](https://camo.githubusercontent.com/30f9ce9011d4038f5c7ebc5d724faa86d0beedc189d2129e53c9e7a17601c75a/68747470733a2f2f706f7365722e707567782e6f72672f666f727265737437392f6465762d63657274732f6c6963656e7365)](//packagist.org/packages/forrest79/dev-certs)[![npm](https://camo.githubusercontent.com/95518413922fca283ae8b71fb353ecee27fb52b073a0329bfe3757d99df16c19/68747470733a2f2f696d672e736869656c64732e696f2f6e706d2f762f253430666f727265737437392532466465762d6365727473)](//www.npmjs.com/package/@forrest79/dev-certs)

Create SSL wildcards domain certificates with own certificate authority for and ONLY for development.

Requirements
------------

[](#requirements)

Forrest79/DevCerts requires linux with openssl installed.

Installation
------------

[](#installation)

The recommended way to install Forrest79/DevCerts is through Composer:

```
composer require --dev forrest79/dev-certs
```

or npm:

```
npm install @forrest79/dev-certs --save-dev
```

Documentation
-------------

[](#documentation)

To generate certificate just call `bin/generate-certificate output_directory domain1 [domain2] [domainX]`. For every domain is generated certificate for `domain` and `*.domain`.

`output_directory` is directory, where new certificates will be generated `domain1` is main domain and certificates and keys are named by this domain (`domain1.crt`, `domain1.key` and `domain1.pem` are generated in `output_directory`) `domain2` .. `domainX` are other domains to be included in certificate

> For npm run script with `npm exec @forrest79/dev-certs`.

**Example:**

I want to generate certificate for domains `forrest79.net.test` and `trmota.cz.test` (`.test` is recommendation from Google).

```
bin/generate-certificate /home/forrest79/certs forrest79.net.test trmota.cz.test
```

To proper use in your system is recommended to import `certs/rootCA-DEVCERT.crt` to certificate storage, after that, all generated certificates will be marked as trusted and you get "green" lock icon. Firefox has own certificates storage system, you must import this directly to Firefox to make generated certificates trusted.

**How to import to Windows**

- Enter `Win + R` | `mmc`
- Click on `File` | `Add/Remove Snap-in...`
- In the Add or Remove Snap-ins window, select `Certificates` and click on the Add button
- Select the `Computer Account` radio button when prompted and click on `Next`
- Select `Local Computer` (selected by default) and click on `Finish`
- Back in the `Add or Remove Snap-ins` window, click on `OK`
- In the MMC main console, click on the plus (+) symbol to expand the Certificate snap-in.
- Navigate to `Trusted Root Certification Authorities` | `Certificates` pane
- Right-click within the `Certificates panel` and click on `All Tasks` | `Import to` start the `Certificate Import Wizard`
- Follow the wizard to import `rootCA-DEVCERTS.crt`.

**How to import to Linux**@todo *Please let me know, if you know, how to do this :-)*

**How to import to MacOS**@todo *Please let me know, if you know, how to do this :-)*

**How to import to Firefox**Depends on your Firefox version. Search for button `View Certificates` in `Options`, `Advanced` or `Encryption`. Tab `Authority`, `Import...` and choose file `rootCA-DEVCERTS.crt`.

**How to use certificate in nginx**Use this in your vhost configuration:

```
listen 443 ssl;
ssl_certificate /path/to/certificate.crt;
ssl_certificate_key /path/to/certificate.key;

```

**How to use certificate in Apache**

Use this in your vhost configuration:

```
SSLEngine on
SSLCertificateFile "/path/to/certificate.crt"
SSLCertificateKeyFile "/path/to/certificate.key"

```

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance29

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~364 days

Recently: every ~449 days

Total

6

Last Release

936d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d979cd353c6593b44b50f90ff5a5eb4be224f501a70f7cce89d0735867e488e5?d=identicon)[forrest79](/maintainers/forrest79)

---

Top Contributors

[![forrest79](https://avatars.githubusercontent.com/u/160766?v=4)](https://github.com/forrest79 "forrest79 (7 commits)")

---

Tags

httpscertificatesssl

### Embed Badge

![Health badge](/badges/forrest79-dev-certs/health.svg)

```
[![Health](https://phpackages.com/badges/forrest79-dev-certs/health.svg)](https://phpackages.com/packages/forrest79-dev-certs)
```

###  Alternatives

[kelunik/acme

ACME library written in PHP.

121603.9k3](/packages/kelunik-acme)[paragonie/certainty

Up-to-date, verifiable repository for Certificate Authorities

2642.4M20](/packages/paragonie-certainty)[acmephp/core

Raw implementation of the ACME protocol in PHP

38973.7k7](/packages/acmephp-core)[spatie/ssl-certificate-chain-resolver

SSL certificate chain resolver

3069.6k](/packages/spatie-ssl-certificate-chain-resolver)[kelunik/acme-client

Let's Encrypt / ACME client written in PHP for the CLI.

3933.9k1](/packages/kelunik-acme-client)[acmephp/ssl

PHP wrapper around OpenSSL extension providing SSL encoding, decoding, parsing and signing features

141.2M4](/packages/acmephp-ssl)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
