Skip to main content

Easy SSL Certificate Generation for Local Testing: A Complete Guide with mkcert

In this tutorial, we'll learn how to create an SSL certificate using mkcert, a simple tool developed by Filippo Valsorda. Mkcert allows us to quickly generate trusted development certificates for local testing purposes.

Prerequisites

  • Go to the mkcert repository on GitHub and follow the installation instructions for your operating system.
  • Make sure you have Go installed on your machine.

Step 1: Install mkcert

To install mkcert, follow the instructions provided in the repository's README. Once installed, you should have the mkcert command available in your terminal.

Next, run the following command to install the root CA (Certificate Authority) certificate into the system's trust store:

mkcert -install

This step is required to ensure that the certificates generated by mkcert are recognized as trusted by your operating system and web browsers.

Step 2: Generate a Local SSL Certificate

Open your terminal and navigate to the directory where you want to generate the certificate. Run the following command to generate a local SSL certificate:

mkcert -key-file key.pem -cert-file cert.pem example.com *.example.com

This command will generate an SSL certificate and private key for the domain "example.com" and all its subdomains. The private key will be saved as "key.pem", and the SSL certificate will be saved as "cert.pem".

Step 3: Use the SSL Certificate

To use the generated SSL certificate in your local development environment, you need to configure your application or web server to use these files. The exact steps depend on the framework or server you are using, so consult their documentation to enable SSL and provide the certificate and key files you generated.

With mkcert, generating SSL certificates for local development has become incredibly easy. You can now secure your local applications with HTTPS, making it easier to test and develop secure features.

Comments

Popular posts from this blog

JSP page directives

A jsp page directive looks like this: <%@ directive attribute="value" %> I am not gonna explain each and every page directives here . I would like to discuss about two page directives  which is import and include. First of all consider the import directive . The following simple program illustrate the use of import page directive: The output would be something looks like this: <%@ page language="java" contentType="text/html; charset=UTF-8"     pageEncoding="UTF-8"%>  <%@ page import="java.util.Date" %>   //page directive <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Jsp Basics</title> </head> <body> <%=new Date() %> </body> </html> Tue Nov 12 17:42:34 I...

a simple example for jdbc PreparedStatement

a simple example for PreparedStatement package basics.in.java.blogspot.in; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Main { private static final String USERNAME="root"; private static final String PASSWORD=""; private static final String CONN_STRING="jdbc:mysql://localhost/basicsinjavablogspot"; public static void main(String[] args) throws ClassNotFoundException, SQLException { Class.forName("com.mysql.jdbc.Driver"); Connection conn=null; Statement stmt=null; ResultSet rs=null; try { conn= DriverManager.getConnection(CONN_STRING, USERNAME, PASSWORD); System.out.println("database connection successful"); //stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); String sql="select * fr...