mkcert

Developer Tools

Simple tool to make locally trusted development certificates

Latest v1.4.4 · by mkcertWebsitefilosottile/mkcert

Changelog

v1.4.4

Firefox Snap support for Ubuntu 22.04

Firefox packaged in a Snap, which is the default browser of Ubuntu 22.04, is now supported ✅

Fixed a crash when a CSR doesn't have SANs 💥

Calling mkcert with no arguments only prints the help text 🤫

Pre-built binaries for windows/arm64 and darwin/arm64 🧱

Pre-built binaries are now available at stable URLs like these 🔗 https://dl.filippo.io/mkcert/latest?for=linux/amd64 https://dl.filippo.io/mkcert/v1.4.4?for=windows/arm64

View originalPermalink
How v1.4.4 went
v1.4.3

Cleaned up EKUs

The EKU logic is now simpler, and it follows the following rules

  • if an IP address, DNS name, or URI SAN is present, serverAuth is included
  • if -client is used, clientAuth is included
  • if an email address SAN in present, emailProtection is included

Certificate generation based on CSRs is now consistent with standard certificate generation.

Releases are now built from GitHub Actions.

View originalPermalink
How v1.4.3 went
v1.4.2

It's been a while

  • Reduce certificate lifetime to 2 years and 3 months
  • Detect various flavors of Firefox (#225, #280)
  • Build release binary for linux/arm64 (#284)

The Go import path of the module is now filippo.io/mkcert, which should only affect users installing the tool with go get, which was never a recommended installation method.

View originalPermalink
How v1.4.2 went
v1.4.1

The little things

Note: packagers building from source now need to set the version like -ldflags "-X main.Version=$VERSION"

  • Use sudo when necessary to install in system-wide NSS stores (#192)
  • Add a -version flag (#191)
  • Speed up macOS execution by 4x for most users (#135)
  • Minor usability improvements (#182, #178, #188)
View originalPermalink
How v1.4.1 went
v1.4.0

macOS Catalina compatibility, URL and email SANs, and more

macOS 10.15 Catalina introduced certificate lifespan limits which block mkcert certificates. As a temporary measure, mkcert certificates now have a fixed notBefore date of June 1st, 2019. Once the ACME server is implemented, certificate lifespan will be shortened to 3 months. (#174)

Certificates generated by previous versions of mkcert after July 1st, 2019 will not work on macOS 10.15 Catalina, and will have to be regenerated. The root CA is unaffected and there is no need to rerun mkcert -install.

URL (#166) and email (for S/MIME, #152) SANs are now supported.

Client certificates are now created with a -client filename suffix, and they claim the serverAuth EKU as well as the clientAuth one.

The certificate subject now includes the full user name, like filippo@Bistromath.local (Filippo Valsorda).

SLES, OpenSUSE (#162), Snapcraft (#116), and CentOS 7 (#120) are now supported.

Linux release binaries are now fully static, and will work regardless of the system libc. (#169)

View originalPermalink
How v1.4.0 went
v1.3.0

Miscellaneous advanced features

🔬 New advanced options:

  • -ecdsa to generate ECDSA private keys
  • -client to generate client certificates
  • -csr to sign certificate signing requests
  • $TRUST_STORES to select what stores to install into

Also, in other news:

  • Add "Firefox Nightly.app" support on macOS
  • Set the CommonName when generating PKCS#12 files for IIS
View originalPermalink
How v1.3.0 went
v1.2.0

-cert-file, -key-file and -p12-file

  • Add -cert-file, -key-file and -p12-file flags
  • Add some helpful lines to docs and output
  • Fix Java failure modes on Windows
View originalPermalink
How v1.2.0 went
v1.1.2

Support certutil as installed by MacPorts

View originalPermalink
How v1.1.2 went
v1.1.1

Four new minor supported targets

  • Support the Arch system root store
  • Support Java on Windows
  • Support the JRE root store
  • Support multiple CAs on Linux
View originalPermalink
How v1.1.1 went
v1.1.0

Windows, Java and PKCS#12

A round of new supported root stores and formats, all contributions from the community.

View originalPermalink
How v1.1.0 went
View all

Discussion