Showing posts with label private. Show all posts
Showing posts with label private. Show all posts

June 09, 2022

Generate Free SSL HTTPS Certificates with 90 days validity using letsencrypt

 Hi all,

As discussed in my earlier blog, Generate Free SSL Certificate using ZeroSSL where the limitation of one free certificate on ZeroSSL can be eliminated using Get HTTPS for free!

This process includes the following prerequisites and procedures.

Note: This process is not for beginners or production usage scenarios. Use this process if you are knowledgeable about certificate generation.

Prerequisites

  • OpenSSL command line
  • [Li]nix / Mac OS

Procedure

  • Open the URL https://gethttpsforfree.com
  • It has 5 steps
    • Account Info
    • Certificate Signing Request
    • Sign API Requests
    • Verify Ownership
    • Install Certificate
  • In each step, some commands or processes need to be followed to get the free SSL certificate.

  1. Account Info
    1. In this step, we will be providing the email and public key.
    2. Keep the generated private key security in your system.
      • Note: If you are unsure about the public key generation commands, click on the "how do I generate this?" link, which is available over the public key input textbox.
  2. Certificate Signing Request (CSR)
    1. Generate the CSR for the required domains
      • Note: You can generate the CSR for wildcard certificates and www subdomain with the same command
    2. Try to follow the same format, including the line feeds mentioned below.
    3. #change "/etc/ssl/openssl.cnf" as needed:
          #  Debian: /etc/ssl/openssl.cnf
          #  RHEL and CentOS: /etc/pki/tls/openssl.cnf
          #  Mac OSX: /System/Library/OpenSSL/openssl.cnf
      
          openssl req -new -sha256 -key domain.key -subj "/" \
            -reqexts SAN -config <(cat /etc/ssl/openssl.cnf \
            <(printf "\n[SAN]\nsubjectAltName=DNS:foo.com,DNS:www.foo.com")) 
  3.  Sign API Requests
    1. Sign all the requests with the private key
    • Note: You need to copy the command and execute it on your PC/Mac terminal, and the result needs to be pasted on the web page.
  4. Verify Ownership
    1. In this step, you need to prove your domain ownership
    2. You will be given 3 options
      1. Python server
      2. file-based
      3. DNS record (I've used this option)
        1. Update the DNS records with new TXT entries, and use the online dig tool to make sure the records are visible.
        2. After we verify the availability of the records, you need to click on the respective buttons on the web page.
    3. Repeat the same steps for each domain on CSR (www and any sub-domains).
  5. Install Certificate
    1. You will be able to receive your certificate in "chained.pem" format
    2. Copy and paste the first certificate section (e.g. the first "-----BEGIN CERTIFICATE-----" section) into a text file named "domain.crt".
    3. Copy and paste the second certificate section (e.g. the second "-----BEGIN CERTIFICATE-----" section) into a text file named "intermediate.pem".
    • Note: Expand the "how do I install this?" link for quick help.
Hope this will help you to generate free SSL for your websites.

Request you to send your valuable feedback and comments to psrdotcom@gmail.com

January 29, 2022

Calculate the private key of RSA algorithm

 Hi folks,

Today we are going to see how we can calculate the private key of RSA.


Inputs

Random prime numbers p and q

Public key (n, e)


Procedure

1. Compute n (Random modulus)

n = p * q

2. Compute e (Derived Number)

e = (p - 1) * (q - 1)

3. Form the public key

GCD(pubkey, e) should be 1

pubkey = 1 mod e

4. Private key

prikey = (1 + k * e) / pubkey

0 < k < e - Iterate until we get a number without fraction


Real example

Inputs

p = 7, q = 17, pubkey = 11

1. n = 7 * 17 = 119

2. e = (7-1) * (17-1) = 96

3. pubkey = 11 

    GCD (11, 96) = 1

4. prikey computation

k=0, (1 + 0 * 96) / 11 = 0.09

k=1, (1 + 1 * 96) / 11 = 8.81

k=2, (1 + 2 * 96) / 11 = 17.5

k=3, (1 + 3 * 96) / 11 = 26.27

k=4, (1 + 4 * 96) / 11 = 35

prikey = 35


Hoping that this blog will be useful in understanding the RSA private key computation.

Send your valuable feedback and comments to psrdotcom@gmail.com


October 31, 2020

Generate or Create ECDSA - Elliptic Curve Digital Signature Algorithm Keys using OpenSSL in Windows

 Hi folks,

Today we will see how we can create ECDSA (Elliptic Curve Digital Signature Algorithm) Keys


Pre-requisites

OpenSSL

Add openssl bin directory to the environment PATH variable 


Generate Keys

Open Powershell and execute the following commands

1. Get the ECC curves list

openssl ecparam -list_curves
2. Generate a private key using your chosen curve
openssl ecparam -name prime256v1 -genkey -noout -out private-key.pem
3. Generate public key from the private key
openssl ec -in private-key.pem -pubout -out public-key.pem

4. Create a self-signed certificate with 1 year validity
openssl req -new -x509 -config "<opensslDirPath>/share/openssl.cnf" -key private-key.pem -out cert.pem -days 360

5. Convert pem to pfx
get-content private-key.pem, cert.pem | out-file cert-with-private-key
openssl pkcs12 -export -inkey private-key.pem -in cert-with-private-key -out cert.pfx

 Note: Enter the password when prompted (Optional)

Now, you can install the PFX file and check the certificate properties and make use of it.

Send your valuable feedback and comments to psrdotcom@gmail.com


Featured Post

Java Introdcution

Please send your review and feedback to psrdotcom@gmail.com