mkcert VS WSL

Compare mkcert vs WSL and see what are their differences.

mkcert

A simple zero-config tool to make locally trusted development certificates with any names you'd like. (by FiloSottile)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
mkcert WSL
130 406
45,618 16,635
- 1.4%
0.0 8.3
6 days ago 5 days ago
Go PowerShell
BSD 3-clause "New" or "Revised" License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

mkcert

Posts with mentions or reviews of mkcert. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-11.
  • Mkcert: Simple tool to make locally trusted dev certificates names you'd like
    1 project | news.ycombinator.com | 15 Mar 2024
  • You Can't Follow Me
    7 projects | news.ycombinator.com | 11 Jan 2024
    The author mentions difficulties with HTTPS and trying stuff locally.

    I've had some success with mkcert [1] to easily create certificates trusted by browsers, I can suggest to look into this. You are your own root CA, I think it can work without an internet connection.

    [1] https://github.com/FiloSottile/mkcert/

  • SSL Certificates for Home Network
    1 project | /r/homelab | 7 Dec 2023
  • Simplifying Localhost HTTPS Setup with mkcert and stunnel
    1 project | dev.to | 27 Nov 2023
    Solution: mkcert – Your Zero-Configuration HTTPS Enabler Meet mkcert, a user-friendly, zero-configuration tool designed for creating locally-trusted development certificates. Find it on its GitHub page and follow the instructions tailored for your operating system. For Mac users employing Homebrew, simply execute the following commands in your terminal:
  • 10 reasons you should quit your HTTP client
    5 projects | dev.to | 15 Nov 2023
    Well, Certifi does not ship with your company's certificates! So requesting internal services may come with additional painful extra steps! Also for a local development environment that uses mkcert for example!
  • Show HN: Anchor – developer-friendly private CAs for internal TLS
    4 projects | news.ycombinator.com | 1 Nov 2023
    My project, getlocalcert.net[1] may be the one you're thinking of.

    Since I'm also building in this space, I'll give my perspective. Local certificate generation is complicated. If you spend the time, you can figure it out, but it's begging for a simpler solution. You can use tools like mkcert[2] for anything that's local to your machine. However, if you're already using ACME in production, maybe you'd prefer to use ACME locally? I think that's what Anchor offers, a unified approach.

    There's a couple references in the Anchor blog about solving the distribution problem by building better tooling[3]. I'm eager to learn more, that's a tough nut to crack. My theory for getlocalcert is that the distribution problem is too difficult (for me) to solve, so I layer the tool on top of Let's Encrypt certificates instead. The end result for both tools is a trusted TLS certificate issued via ACME automation.

    1. https://news.ycombinator.com/item?id=36674224

    2. https://github.com/FiloSottile/mkcert

    3. https://blog.anchor.dev/the-acme-gap-introducing-anchor-part...

  • Running one’s own root Certificate Authority in 2023
    12 projects | news.ycombinator.com | 16 Sep 2023
    Looks like step-ca/step-cli [1] and mkcert [2] have been mentioned. Another related tool is XCA [3] - a gui tool to manage CAs and server/client TLS certificates. It takes off some of the tedium in using openssl cli directly. It also stores the certs and keys in an encrypted database. It doesn't solve the problem of getting the root CA certificate into the system store or of hosting the revocation list. I use XCA to create and store the root CA. Intermediate CAs signed with it are passed to other issuers like vault and step-issuer.

    [1] https://smallstep.com/docs/step-ca/

    [2] https://github.com/FiloSottile/mkcert

    [3] https://hohnstaedt.de/xca/

  • Show HN: Local development with .local domains and HTTPS
    5 projects | news.ycombinator.com | 1 Aug 2023
    We use mkcert for this, it works wonderfully.

    https://github.com/FiloSottile/mkcert

  • Implementing TLS in Kubernetes
    13 projects | dev.to | 1 Aug 2023
    mkcert: This is used to obtain a trusted TLS certificate with a custom domain name for your development machine. You can install mkcert on your development machine following the official instructions.
  • Easy HTTPS for your private networks
    13 projects | news.ycombinator.com | 10 Jul 2023
    I've been pretty frustrated with how private CAs are supported. Your private root CA can be maliciously used to MITM every domain on the Internet, even though you intend to use it for only a couple domain names. Most people forget to set Name Constraints when they create these and many helper tools lack support [1][2]. Worse, browser support for Name Constraints has been slow [3] and support isn't well tracked [4]. Public CAs give you certificate transparency and you can subscribe to events to detect mis-issuance. Some hosted private CAs like AWS's offer logs [5], but DIY setups don't.

    Even still, there are a lot of folks happily using private CAs, they aren't the target audience for this initial release.

    [1] https://github.com/FiloSottile/mkcert/issues/302

    [2] https://github.com/cert-manager/cert-manager/issues/3655

    [3] https://alexsci.com/blog/name-non-constraint/

    [4] https://github.com/Netflix/bettertls/issues/19

    [5] https://docs.aws.amazon.com/privateca/latest/userguide/secur...

WSL

Posts with mentions or reviews of WSL. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-28.
  • GoboLinux
    3 projects | news.ycombinator.com | 28 Feb 2024
    It absolutely 100% can be true.

    As an example: Windows Services for Linux 2 used a special init daemon to interact with the host OS.

    That meant no systemd. That meant that the `systemctl` program wasn't there.

    This baffled legions, armies, of wannabe sysadmins.

    https://stackoverflow.com/questions/55579342/why-systemd-is-...

    https://superuser.com/questions/1785697/systemd-in-wsl-on-wi...

    https://github.com/microsoft/WSL/issues/9477

    https://askubuntu.com/questions/1132230/unable-to-run-any-sy...

    People on the whole have no idea how this stuff works, and they just copy magic incantations from StackOverflow to get stuff to happen. If that doesn't work, then this OS is broken. The end.

    For these guys, WSL was broken.

    Result:

    MS hired Lennart Poettering.

    https://www.theregister.com/2022/07/07/lennart_poettering_re...

    He "fixed" it. Systemd now works in WSL2. All those guides for noobs now work. Everyone is happy.

    In a world where tools like Flatpak and Snap are proliferating and it's driving deep divisions between Linux distros, if you think the average person struggling with Linux is going to use `ldd` to work out where the dependencies for something live, I'm afraid you are a deep guru who lives on a different plane of existence.

    We now have widely-used packaging systems which simply embed an apps entire dependency tree into a package to avoid people having to work out the difference between `apt` and `rpm`. Thousands of terabytes of disk are being burned to make this stuff go away.

    Yes, this is too hard. Way too hard.

  • Why Linux utilities tend to run poorly on Windows
    1 project | news.ycombinator.com | 3 Jan 2024
    Better source: https://github.com/Microsoft/WSL/issues/873#issuecomment-425...
  • Weird graphical glitch/problem in Ubuntu WSLg (OpenGL)
    1 project | /r/bashonubuntuonwindows | 10 Dec 2023
  • RamRamRamEveryoneSleepingOnDocker
    3 projects | /r/ProgrammerHumor | 7 Dec 2023
    One of the bugs where on the Docker side. As I have said, there have been several since release with a lot of impact period overlap. The latest and greatest is not resolved.
  • Laravel dev in Windows - Laragon vs Docker?
    1 project | /r/laravel | 7 Dec 2023
    It's the issue of abysmal I/O performance in communication between the mounted WSL2 virtual hard disk and Windows mounts inside the WSL2 distro.
  • WSL freeze seems fixed in 2.0.12
    1 project | news.ycombinator.com | 6 Dec 2023
  • What's the right way to open files in the system's default program from Ubuntu 22.04 in WSL 2 please?
    1 project | /r/bashonubuntuonwindows | 6 Dec 2023
    I found this github page and I was able to reproduce this from the answer
  • Ask HN: Best Docker open source alternative?
    1 project | news.ycombinator.com | 5 Dec 2023
    * Docker engine and not Docker Desktop in a VM. WSL2 works well after some configuration: https://github.com/microsoft/WSL/issues/6655#issuecomment-11...
  • Broadcom to Cut Almost 1,300 VMware Jobs in California After Takeover
    1 project | news.ycombinator.com | 30 Nov 2023
    Seems to more of a Defender issue than a WSL one, see https://github.com/microsoft/WSL/issues/8995

    After adding exclusions for the fsnotifier-wsl process and and both variants of the WSL distro path my disk performance was improved.

    Adding the idea64.exe process also helped since I was trying to run IntelliJ against projects inside WSL.

  • Bricked WSL 2 after 2.0.9 / Windows 10
    1 project | /r/bashonubuntuonwindows | 21 Nov 2023

What are some alternatives?

When comparing mkcert and WSL you can also consider the following projects:

minica - minica is a small, simple CA intended for use in situations where the CA operator also operates each host where a certificate will be used.

wslg - Enabling the Windows Subsystem for Linux to include support for Wayland and X server related scenarios

nginx-docker-ssl-proxy - A docker way to access localhost:8081 from https://local.dev

genie - A quick way into a systemd "bottle" for WSL

certificates - 🛡️ A private certificate authority (X.509 & SSH) & ACME server for secure automated certificate management, so you can use TLS everywhere & SSO for SSH.

Scoop - A command-line installer for Windows.

gosumemory - Cross-Platform memory reader for osu!

Single-GPU-Passthrough

rustls - A modern TLS library in Rust

setup-msys2 - GitHub Action to setup MSYS2

uvicorn - An ASGI web server, for Python. 🦄

UTM - Virtual machines for iOS and macOS