CSR generator
A certificate signing request (CSR) packages your public key, domain information, and organization data so a certificate authority can issue an SSL certificate. anssl’s CSR tool helps you create standards-compliant CSRs together with matching private keys in just a few clicks.
What is a CSR?
Section titled “What is a CSR?”A CSR is a structured text file containing:
- Domain details — The hostname or wildcard you plan to secure.
- Organization fields — Company name, department, and location information.
- Public key — The public half of the key pair that will anchor your certificate.
- Signing algorithm — RSA or ECC, which determines key length and compatibility.
You submit the CSR to a CA; after validation, the CA signs it and returns the certificate.
Use the anssl CSR tool
Section titled “Use the anssl CSR tool”-
Open the tool
Visit the CSR generator. -
Enter domain information
- Common Name (CN) — Primary domain such as
example.comor*.example.com. - Subject Alternative Names (SANs) — Optional list of additional hostnames.
- Common Name (CN) — Primary domain such as
-
Provide organization details
- Organization (O) — Legal entity name.
- Organizational Unit (OU) — Department (optional).
- Country (C) — ISO 3166-1 alpha-2 code (
CN,US, etc.). - State/Province (ST) — Full region name.
- Locality (L) — City name.
-
Choose a signing algorithm
- RSA-2048 / 3072 / 4096 — Maximizes compatibility at increasing security levels.
- ECC P-256 / P-384 — Recommended for modern workloads thanks to smaller keys and faster handshakes.
-
Generate
Click Generate to produce the CSR (submit to the CA) and a matching private key. -
Download immediately
Save both files locally. The private key is shown only once.
Field reference
Section titled “Field reference”Common Name (CN)
Section titled “Common Name (CN)”Defines the primary domain covered by the certificate:
- Single domain —
example.comorwww.example.com. - Wildcard —
*.example.comto include every subdomain.
Subject Alternative Names (SAN)
Section titled “Subject Alternative Names (SAN)”Protect multiple domains by adding one entry per line:
example.comwww.example.comblog.example.comshop.example.comOrganization details
Section titled “Organization details”Provide accurate information for OV/EV certificates:
- Organization (O) — Legal business name.
- Organizational Unit (OU) — Department, e.g., “IT Department” (optional).
- Country (C) — Two-letter country code.
- State/Province (ST) — Full region name.
- Locality (L) — Full city name.
Example:
O = Example Inc.OU = IT DepartmentC = CNST = BeijingL = BeijingSelecting an algorithm
Section titled “Selecting an algorithm”- Pros: Universal compatibility; well-understood by every browser and appliance.
- Cons: Larger keys (2048–4096 bits) generate more CPU and bandwidth overhead.
Use RSA when legacy device support is a strict requirement.
ECC (recommended)
Section titled “ECC (recommended)”- Pros: Short keys with equivalent security, faster handshakes, smaller certificates.
- Cons: A small number of legacy systems may lack ECC support.
Choose ECC for modern web, mobile, and high-throughput workloads.
Comparison
Section titled “Comparison”| Algorithm | Key length | Equivalent security | Performance | Compatibility |
|---|---|---|---|---|
| RSA-2048 | 2048 bits | Baseline | ★★★☆☆ | ★★★★★ |
| RSA-3072 | 3072 bits | High | ★★☆☆☆ | ★★★★★ |
| RSA-4096 | 4096 bits | Very high | ★☆☆☆☆ | ★★★★★ |
| ECC P-256 | 256 bits | ≈ RSA-3072 | ★★★★★ | ★★★★☆ |
| ECC P-384 | 384 bits | ≈ RSA-7680 | ★★★★☆ | ★★★★☆ |
Generated files
Section titled “Generated files”CSR example
Section titled “CSR example”-----BEGIN CERTIFICATE REQUEST-----MIICvDCCAaQCAQAwdzELMAkGA1UEBhMCQ04xEDAOBgNVBAgMB0JlaWppbmcxEDAOBgNVBAcMB0JlaWppbmcxFDASBgNVBAoMC0V4YW1wbGUgSW5jMRYwFAYDVQQLDA1JVCBEZXBhcnRtZW50MRYwFAYDVQQDDA1leGFtcGxlLmNvbTCCASIwDQYJKoZIhvcN...-----END CERTIFICATE REQUEST-----Private key example
Section titled “Private key example”-----BEGIN PRIVATE KEY-----MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDU7VR5K3Y0K5K3hZRHmNb2M8F2qKLHqLXqAGYWqLXqAGYWqLXqAGYWqLXqAGYWqLXqAGYWqLXqAGYW...-----END PRIVATE KEY-----Verify your CSR
Section titled “Verify your CSR”Run the built-in validator or use OpenSSL:
openssl req -text -noout -verify -in example.csrverify OK indicates the CSR structure is valid. Review the output to confirm:
- ✅ Domains and SANs are correct.
- ✅ Organization data matches your records.
- ✅ The signing algorithm is what you expect.
- ✅ The public key length is correct.
Use the CSR for issuance
Section titled “Use the CSR for issuance”Option A: anssl-managed issuance
Section titled “Option A: anssl-managed issuance”When you request certificates through anssl, the platform can handle CSR creation automatically—you don’t need to supply your own file.
Option B: External CAs
Section titled “Option B: External CAs”For third-party issuances:
- Paste the CSR into the CA’s request form.
- Complete the required domain validation steps.
- Download the issued certificate.
- Deploy the certificate alongside the saved private key.
Generate a CSR with OpenSSL
Section titled “Generate a CSR with OpenSSL”Prefer the CLI? These snippets show how to recreate the same results manually.
RSA example
Section titled “RSA example”# Generate private key and CSR in one stepopenssl req -new -newkey rsa:2048 -nodes \ -keyout example.com.key \ -out example.com.csr \ -subj "/C=CN/ST=Beijing/L=Beijing/O=Example Inc/CN=example.com"ECC example
Section titled “ECC example”# Generate ECC private keyopenssl ecparam -genkey -name prime256v1 -out example.com.key
# Create CSRopenssl req -new -key example.com.key \ -out example.com.csr \ -subj "/C=CN/ST=Beijing/L=Beijing/O=Example Inc/CN=example.com"Add SAN entries
Section titled “Add SAN entries”Create san.cnf:
[req]distinguished_name = req_distinguished_namereq_extensions = v3_req
[req_distinguished_name]countryName = Country NamestateOrProvinceName = State or Province NamelocalityName = Locality NameorganizationName = Organization NamecommonName = Common Name
[v3_req]subjectAltName = @alt_names
[alt_names]DNS.1 = example.comDNS.2 = www.example.comDNS.3 = blog.example.comGenerate the CSR with SANs:
openssl req -new -key example.com.key \ -out example.com.csr \ -config san.cnf \ -subj "/C=CN/ST=Beijing/L=Beijing/O=Example Inc/CN=example.com"Frequently asked questions
Section titled “Frequently asked questions”What if I lose the CSR or private key?
Section titled “What if I lose the CSR or private key?”If the private key is lost, the existing certificate is unusable. Generate a new CSR/key pair and reissue the certificate.
Can I reuse the same CSR multiple times?
Section titled “Can I reuse the same CSR multiple times?”It’s technically possible but not recommended. Generate fresh CSRs and keys for each issuance to reduce risk and simplify audits.
Can I edit organization fields after generating the CSR?
Section titled “Can I edit organization fields after generating the CSR?”No. If you need different details, create a new CSR. (DV certificates ignore organization data, but OV/EV requests require accuracy.)