Generate Certificate From Public Key Openssl
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: < > ~ ! @ # $ % ^ * / ( ) ?.,&
Field | Example |
---|---|
Country Name | US (2 Letter Code) |
State or Province | New Hampshire (Full State Name) |
Locality | Portsmouth (Full City name) |
Organization | GMO GlobalSign Inc (Entity's Legal Name) |
Organizational Unit | Support (Optional, e.g. a department) |
Common Name | www.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++.
# 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: |