Generate Certificate From Public Key Openssl

Generate Certificate From Public Key Openssl 7,8/10 9863 votes

Generate CSR - OpenSSL

Introduction

Sep 11, 2018  The first thing to do would be to generate a 2048-bit RSA key pair locally. This pair will contain both your private and public key. You can use Java key tool or some other tool, but we will be working with OpenSSL. To generate a public and private key with a certificate signing request (CSR), run the following OpenSSL command. Instructions Open Windows File Explorer. Navigate to the OpenSSL bin directory. Right-click the openssl.exe file and select Run as administrator. Enter the following command to begin generating a certificate and private key. You will then be prompted to enter applicable Distinguished Name.

This article provides step-by-step instructions for generating a Certificate Signing Request (CSR) in OpenSSL. This is most commonly required for web servers such as Apache HTTP Server and NGINX. If this is not the solution you are looking for, please search for your solution in the search bar above.

Switch to a working directory

If you need it in a format for openssh, please see Use RSA private key to generate public key? Note that public key is generated from the private key and ssh uses the identity file (private key file) to generate and send public key to server and un-encrypt the encrypted token from the server via the private key. The Sender then generates a Certificate Signing Request (CSR) with the public key (lock) which is forwarded to the Certificate Authority (Trusted Third Party), the Certificate Authority signs the the public key (lock) with the Certificate Authorities private key.

GNU/Linux & Mac OS X users:
Open a terminal and browse to a folder where you would like to generate your keypair

Windows Users:
Navigate to your OpenSSL 'bin' directory and open a command prompt in the same location.

Generate a CSR & Private Key:
openssl req -out CSR.csr -new -newkey rsa:2048 -keyout privatekey.key

To generate a 4096-bit CSR you can replace the rsa:2048 syntax with rsa:4096 as shown below.
openssl req -out CSR.csr -new -newkey rsa:4096 -keyout privatekey.key/windows-server-2012-r2-datacenter-product-key-generator.html.

Note: You will be prompted to enter a password in order to proceed. Keep this password as you will need it to use the Certificate.

Fill out the following fields as prompted:
Note: The following characters can not be accepted: < > ~ ! @ # $ % ^ * / ( ) ?.,&

FieldExample
Country NameUS (2 Letter Code)
State or ProvinceNew Hampshire (Full State Name)
LocalityPortsmouth (Full City name)
OrganizationGMO GlobalSign Inc (Entity's Legal Name)
Organizational Unit Support (Optional, e.g. a department)
Common Namewww.globalsign.com (Domain or Entity name)

You should now have a Private Key (privatekey.key) which should stay on your computer, and a Certificate Signing Request (CSR.csr), which can be submitted to GlobalSign to sign your public key. Each of these files can be viewed in a plain text editor such as Notepad, TextEdit, Vi, Nano, and Notepad++.

OpenSSL Generate 4096-bit Certificate (Public/Private Key Encryption) with SHA256 Fingerprint
gencert.sh
# Generate Private Key and Certificate using RSA 256 encryption (4096-bit key)
openssl req -x509 -newkey rsa:4096 -keyout privatekey.pem -out certificate.pem -days 365
# Alternatively, setting the '-newkey' parameter to 'rsa:2048' will generate a 2048-bit key.
# Generate PKCS#12 (P12) file for cert; combines both key and certificate together
openssl pkcs12 -export -inkey privatekey.pem -in certificate.pem -out cert.pfx
# Generate SHA256 Fingerprint for Certificate and export to a file
openssl x509 -noout -fingerprint -sha256 -inform pem -in certificate.pem >> fingerprint.txt
# Generate SHA1 Fingerprint for Certificate and export to a file
#openssl x509 -noout -fingerprint -sha1 -inform pem -in certificate.pem >> fingerprint.txt
# FYI, it's best practice to use SHA256 instead of SHA1 for better security, but this shows how to do it if you REALLY need to.

Openssl Generate Key And Cert

commented Nov 7, 2019

Generate Certificate And Private Key Openssl

Here's a couple useful links related to this:

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment