Create a Certificate Signing Request (CSR)
A CSR (Certificate Signing Request) is a digital request for issuing a TLS certificate. TLS certificates ordered through Nine are not limited to managed services. They can also be used with root servers and third-party infrastructure.
If you order a single-domain or wildcard certificate through Nine, you don't need to create a CSR. Nine handles this automatically.
Creating a CSR is required for:
- EV and multi-domain certificates
- Certificates from third-party providers
Where to Create the CSR
Generate the CSR and private key on your Managed Server. This ensures the private key never leaves the secure server environment.
Preparation
This guide uses OpenSSL. On managed environments, OpenSSL is pre-installed. For root environments, install it first if needed.
The following steps use default directories for Nine managed environments. Adjust paths for root environments as needed.
-
Create a directory that is not publicly accessible via a web server. Private keys must remain secret:
mkdir -p ~/.ssl/
cd ~/.ssl/ -
Create an OpenSSL config:
~/.ssl/openssl.conf[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req
[req_distinguished_name]
[ v3_req ]
subjectAltName = ${ENV::SAN}
# keyUsage = keyEncipherment, dataEncipherment
# extendedKeyUsage = serverAuth
Create the CSR
Run the following command to create both the CSR and private key for your domain. This uses an ECDSA key with the P-256 curve, the current industry standard for fast and secure TLS handshakes:
SAN=DNS:example.com,DNS:www.example.com openssl req -new -subj "/C=CH/ST=Zuerich/L=Zuerich/O=Example AG/CN=example.com/" -sha256 -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -nodes -keyout SSL_example.com.key -out SSL_example.com.csr -config openssl.conf
Avoid umlauts, special characters (such as French accents), and any abbreviations in the certificate fields.
Country Name
2-digit country code per ISO 3166 (CH = Switzerland).
State or Province Name
The canton or province where the person or company is registered.
Organization Name
Your company or association name. For certificates issued to individuals, enter the full name.
Common Name
The domain name to protect with the certificate, or *.example.com for wildcard certificates.
Wildcard certificates cover one subdomain level. For example, *.example.com covers www.example.com and staging.example.com, but not www.staging.example.com. To cover www.staging.example.com, use *.staging.example.com.
The TLS certificate is only valid for the domain specified here.