DEV Community

Cover image for Generate Free Let's Encrypt SSL Certificate
Suresh Ramani
Suresh Ramani

Posted on • Originally published at sslforweb.com

Generate Free Let's Encrypt SSL Certificate

What is SSL?
SSL, or Secure Sockets Layer, is an encryption-based Internet security protocol. It was first developed by Netscape in 1995 for the purpose of ensuring privacy, authentication, and data integrity in Internet communications. SSL is the predecessor to the modern TLS encryption used today.

A website that implements SSL/TLS has HTTPS in its URL instead of HTTP.

HTTPS would also boost the search engine ranking, so you may consider having this for your blog as well.

SSL – Secure Socket Layer
TLS – Transport Layer Security
CDN – Content Delivery Network
ACME – Automated Certificate Management Environment
What is an SSL certificate?
SSL can only be implemented by websites that have an SSL certificate (technically a "TLS certificate"). An SSL certificate is like an ID card or a badge that proves someone is who they say they are. SSL certificates are stored and displayed on the Web by a website's or application's server.

One of the most important pieces of information in an SSL certificate is the website's public key. The public key makes encryption possible. A user's device views the public key and uses it to establish secure encryption keys with the webserver. Meanwhile, the web server also has a private key that is kept secret; the private key decrypts data encrypted with the public key.

Certificate authorities (CA) are responsible for issuing SSL certificates.

What is Let's Encrypt?
Let's Encrypt is a non-profit certificate authority run by Internet Security Research Group that provides X.509 certificates for Transport Layer Security encryption at no charge. It launched on April 12, 2016. Let's Encrypt certificates are valid for 90 days, during which renewal can take place at any time.

Let’s Encrypt is that you need to renew it every 90 days.

How to Create Let’s Encrypt’s Free SSL Certificate?
Step 1: Go to SslForWeb.

Step 2: In the first field, type Domains with www. and without www., for example, I will use sslforweb.ga, www.sslforweb.ga. (Don’t include http:// or https://). If you have a few subdomains, you can add them here too, just separate them with a comma.

Step 3: In the second field, choose Verification Type in HTTP or DNS. I will choose DNS.

Note: If you create wildcard SSL, the default selected verification type in DNS. Note the star (*), it’s important.

Step 4: And Accept Let's Encrypt SA.

Step 5: Click on the Create button below the search field.

Note: If you want to include your sub-domains, then use a wildcard SSL. In the domain field, just add: *.yourdomain.com, yourdomain.com.

Step 6: You verify that the domains you want to apply for this certificate are correct.

Step 7: Now, look at the TXT record and value in the table. Go to your DNS record settings and create a new TXT record. In the Name/Host/Alias field, enter the domain TXT record from the below table for example _acme-challenge. In the Value/Answer field, enter the verification code from the below table.

If you selected the Verification Type as HTTP, it will be:

Step 8: Wait for a few minutes for the TXT record to propagate. You can check if it worked by clicking on the Check button. If you have multiple entries, make sure all of them are ok.

Step 9: Verify that TXT Record before clicking on the Validate Domain button.

Note: After clicking on the Validate Domain button, you will see in the return "Your domain is not validate." If it does, try again after 10 seconds.

Step 10: Hooray! Your SSL certificate is Generated.

Thank you for reading this article!

Top comments (2)

Collapse
 
safventure11000 profile image
Josafe Balili

Great post! I didn't know about this! :) I just created ssl certificate of my domain for 90 days. :) Thanks for sharing.

dev-to-uploads.s3.amazonaws.com/up...

Collapse
 
sureshramani profile image
Suresh Ramani

:)