Fill in domain and organization information
Click Generate to create CSR and private key
Send CSR to Certificate Authority for signing
A Certificate Signing Request (CSR) is an encoded text file containing your public key and identifying information. You generate a CSR on your server and submit it to a Certificate Authority (CA) like Let's Encrypt, DigiCert, or Sectigo. The CA validates your information and issues an SSL/TLS certificate signed with their private key.
The CSR contains your domain name, organization details, and public key. The corresponding private key stays on your server and must be kept secret. When the CA returns your signed certificate, you install it along with the private key to enable HTTPS on your website.
-----BEGIN CERTIFICATE REQUEST----- MIICvDCCAaQCAQAwdzELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx FjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFDASBgNVBAoMC0V4YW1wbGUgSW5jMRYw ... (Base64 encoded data) -----END CERTIFICATE REQUEST-----
Fill in all required fields marked with asterisks. Use your actual domain name for Common Name. Enter your organization's legal name and location. The country code must be exactly 2 letters (US, GB, CA, etc.).
Click "Generate CSR" to create both the CSR and private key. Generation happens in your browser - no data is sent to any server. The private key is generated automatically and must be kept secure.
Download the CSR and private key immediately. Store the private key securely on your server with restricted permissions (chmod 600). Never share or lose the private key - you'll need it to install the certificate.
Copy the CSR and paste it into your CA's certificate request form. The CA will validate your information and issue a signed certificate. Install the certificate with your private key to enable HTTPS.
Generate a CSR when purchasing or renewing SSL/TLS certificates. Submit the CSR to your chosen CA (Let's Encrypt, DigiCert, Sectigo) to get a signed certificate for your domain.
Use *.example.com as the Common Name to request a wildcard certificate that covers all subdomains. Wildcard certificates are useful for sites with many subdomains.
Some CAs allow you to add Subject Alternative Names (SAN) after submitting the CSR. This lets one certificate cover multiple different domains.
Generate CSRs for internal certificates signed by your organization's private CA. This is common in enterprise environments for internal services.
Generate a new CSR when renewing certificates. While you can reuse the old private key, generating a new key pair is more secure and recommended.
# Generate private key and CSR openssl req -new -newkey rsa:2048 -nodes \ -keyout private.key -out request.csr # Generate CSR from existing key openssl req -new -key private.key -out request.csr
# Decode and view CSR openssl req -in request.csr -noout -text # Verify CSR signature openssl req -in request.csr -noout -verify
# Extract public key openssl req -in request.csr -noout -pubkey # View subject information openssl req -in request.csr -noout -subject
# Wildcard certificate CSR openssl req -new -newkey rsa:2048 -nodes \ -keyout wildcard.key -out wildcard.csr \ -subj "/C=US/ST=California/L=San Francisco/O=Example Inc/CN=*.example.com"
# After receiving certificate from CA # Copy certificate and key to server sudo cp certificate.crt /etc/ssl/certs/ sudo cp private.key /etc/ssl/private/ sudo chmod 600 /etc/ssl/private/private.key # Configure web server (nginx example) ssl_certificate /etc/ssl/certs/certificate.crt; ssl_certificate_key /etc/ssl/private/private.key;
Explore our other security and certificate tools:
Get $200 free DigitalOcean credit or sponsor us on GitHub!