SSLCertificateMaker.Library 3.3.1

dotnet add package SSLCertificateMaker.Library --version 3.3.1
                    
NuGet\Install-Package SSLCertificateMaker.Library -Version 3.3.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SSLCertificateMaker.Library" Version="3.3.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SSLCertificateMaker.Library" Version="3.3.1" />
                    
Directory.Packages.props
<PackageReference Include="SSLCertificateMaker.Library" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SSLCertificateMaker.Library --version 3.3.1
                    
#r "nuget: SSLCertificateMaker.Library, 3.3.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package SSLCertificateMaker.Library@3.3.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SSLCertificateMaker.Library&version=3.3.1
                    
Install as a Cake Addin
#tool nuget:?package=SSLCertificateMaker.Library&version=3.3.1
                    
Install as a Cake Tool

SSL-Certificate-Maker

A cross platform GUI tool for generating SSL certificates without any prior knowledge or command line tools.

Screenshot

Purpose

This program is intended for use in private networks, home labs, etc, where you want to easily create SSL certificates that never expire, and you are willing to make your operating system trust your own certificate authority.

If you need a certificate for a public web server, this is not the tool for you. What you want is a certificate signed by globally-trusted certificate authority like LetsEncrypt - Free SSL/TLS Certificates.

Usage

To install SSL-Certificate-Maker, install the .NET 10 SDK and run the shell command:

dotnet tool install -g SSLCertificateMaker

and then run it by executing

sslcertmaker

The created certificates will be stored in your Documents/SSL-Certificates folder.

For basic usage, you can simply click the Make Certificate button and find a new localhost.pfx file created in your Documents/SSL-Certificates directory. Nobody likes renewing self-signed certificates, so by default this program uses an expiration date that is 500 years after you started it.

Trusting a Certificate

Self-signed certificates are not trusted by default, so you get security warnings whenever you try to connect to a web service that uses one. You can work around this by instructing your operating system to trust the certificate.

The Windows OS allows you to easily trust new certificates just by double-clicking on the certificate file and going through the certificate installation process. Specifically, I find that you need to choose the "Local Machine" store location and place your certificates in the "Trusted Root Certification Authorities" certificate store. Try my Certificate Trust Manager program to make this idiot-proof.

If you simply want a system to trust a certificate, you only need the signed public certificate (the .cer file if you are using the .cer and .key format). You can safely give the .cer file to anyone without compromising your private key. .pfx files created by this program contain both the public and private keys, so you should keep them secure.

The .cer and .key format is common on Linux. These are actually equivalent to .pem files, but I chose to use the extensions .cer and .key in order to differentiate between the public certificates and private keys.

If you want to use the certificate with IIS on Windows, you need to install both public and private keys, which in this case is easiest to do by installing the .pfx file to your Local Machine "Personal" certificate store.

Be careful when trusting and sharing certificates. If someone untrustworthy got ahold of the private key, they could use it to fool your computer into trusting any certificate they want!

Creating Your Own Certificate Authority

When you need to create many trusted certificates, it can be useful to sign them all with a common root certificate known as a Certificate Authority or "CA". This way, you can have your operating system trust your CA, then any certificate your CA signs will automatically be trusted.

You can create a CA with this app by using the CA preset button before you click Make Certificate. CA certificates are placed in the Documents/SSL-Certificates/CertificateAuthority subfolder and become selectable in the Certificate Authority dropdown list. Choose your CA from the Certificate Authority dropdown list to sign new certificates with your CA.

In this screenshot, I have instructed my computer to trust "My Very Trustworthy Certificate Authority". Then I signed another certificate "MyESXiServer" with it, and now both are trusted.

Trusted Certificate Chain

Converting .cer and .key to .pfx, and vice-versa

This program also includes the ability to convert certificates and private keys between the .cer and .key and .pfx formats, via the Convert tab at the top.

Screenshot of Convert Certificates Panel

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on SSLCertificateMaker.Library:

Package Downloads
SSLCertificateMaker.UI

A cross platform OpenSource GUI tool to create self signed SSL certificates.

SSLCertificateMaker.Lib

A cross platform OpenSource GUI tool to create self signed SSL certificates.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.3.1 129 2/24/2026
1.0.0 186 2/24/2026