Last modified: June 27, 2024
Overview
SSL/TLS (Secure Sockets Layer/Transport Layer Security) encrypts information between a visitor’s browser and a server. These protocols protect against electronic eavesdroppers. This also protects sensitive communications (for example, credit card numbers and login information).
Both of these protocols initiate a handshake, during which your server and the user’s computer agree on specific conditions. These conditions include a set of public and private keys. Both computers use these keys to encrypt and decrypt messages transmitted during communication.
cPanel & WHM supports Transport Layer Security (TLS) protocol version 1.2 and Transport Layer Security (TLS) protocol version 1.3:
- cPanel & WHM only supports TLSv1.2 or later. The system enables TLSv1.2 by default.
- Not all internet browsers or clients will support TLSv1.3.
- You can set up SSL/TLS for your server in WHM’s SSL/TLS Configuration interface (WHM » Home » SSL/TLS » SSL/TLS Configuration).
- You can set up SSL/TLS for a cPanel account’s domains in cPanel’s SSL/TLS interface (cPanel » Home » Security » SSL/TLS).
- WebPros International, LLC does not offer free signed or self-signed hostname certificates for cPanel DNSOnly® servers.
SSL certificates
An SSL certificate is an electronic document that digitally binds a public key to an identity. This helps secure the connection between a web browser and a website. An SSL certificate serves the following functions:
- Encryption — Encodes data. This helps to ensure that if someone intercepts the transmission, they cannot understand it.
- Identification verification — This ensures that you connect to the correct server.
- SSL certificates review domain names literally. For example, SSL interprets
www.example.com
andexample.com
as two different domains. - The Common Name (CN) entry of an SSL certificate is cosmetic and does not affect the security of a certificate.
- An SSL certificate’s CN does not need to be the main domain. The certificate covers all domains listed in the certificate’s Subject Alternative Name (SAN) field.
SSL key security
When you generate an SSL certificate, you can select the type of key that your SSL certificate uses. You can also select the type of key the system uses by default when generating SSL certificates:
- In WHM, use either WHM’s SSL/TLS Configuration interface (WHM » Home » SSL/TLS » SSL/TLS Configuration) or the Default SSL/TLS Key Type setting in WHM’s Tweak Settings interface (WHM » Home » Server Configuration » Tweak Settings).
Note:
This setting only applies to cPanel users who do not set a default key type.
- In cPanel, use the SSL/TLS interface (cPanel » Home » Security » SSL/TLS).
When selecting a new default key type, the system performs an AutoSSL run. This updates all installed AutoSSL-issued certificates to use the new key type.
Certificate types
When you work with SSL, you may encounter the following types of SSL certificates:
- Single-domain — This certificate type secures a single domain or subdomain.
- Multi-domain — This certificate type secures many domains with one certificate. It is also called a Unified Communications/Subject Alternate Name (UC/SAN) certificate.
Note:
You must reissue a multi-domain certificates each time you add a new hostname.
- Self-signed — This certificate type does not verify the identity of the server and does not require a CA. These certificates are not secure. Visitors’ browsers will display a warning when they access the site. You can create a self-signed SSL certificate in WHM’s Generate an SSL Certificate and Signing Request interface (WHM » Home » SSL/TLS » Generate an SSL Certificate and Signing Request).
Important:
We strongly recommend using a valid signed certificate if your website handles sensitive data.
- Shared SSL — This certificate type allows you to secure multiple domains with the same SSL certificate.
Note:
cPanel & WHM does not support this type of certificate.
- Wildcard — Any type of certificate that contains a wildcard (
*
) domain. You can secure a domain’s subdomains with a single certificate if they share an IP address. For example, you can use a wildcard for the*.example.com
domain to also secure themail.example.com
andwww.example.com
subdomains. However, this will not secure the toexample.com
domain.Note:- You can apply a wildcard certificate to services in WHM’s Manage Service SSL Certificates interface (WHM » Home » Service Configuration » Manage Service SSL Certificates).
- The
root
user may install a wildcard certificate on a collection of subdomains for a singleroot
domain on multiple IP addresses. If this configuration uses multiple IP addresses, a user on the server cannot own theroot
domain.
SNI support
Server Name Indication (SNI) support allows you to host multiple SSL certificates for different domains on the same IP address. At the beginning of the handshake process, SNI indicates the hostname to which the client connects. Users on shared servers that support SNI can install their own certificates without a dedicated IP address.
cPanel & WHM servers do not support SNI for the FTP service.
Certificate authorities
Your Certificate Authority (CA) is the trusted third-party entity that issues your SSL certificates.
CA bundle files
Generally, when you purchase an SSL certificate, the CA will provide you a CA bundle file. Some providers will send you the bundle file as a .cab
or .zip
file, others provide the files individually, and some will provide you a URL to download the bundle file.
A bundle file will contain the following details about the SSL certificate:
- The CA that issued the certificate.
- Any of the CA’s certificates, root or intermediate.
- The chain of trust for the issuer.
Note:
A CA can vouch for other CAs, which results in a chain of trust. For a CA to sell certificates, another CA must vouch for them.
- Certificate Revocation Lists (CRLs).
Note:
- The order of files in a bundle is important. If the CA sends individual files, we recommend that you ask them to pack them into a bundle file for you.
- Bundle files for EV (Extended Validated) certificates may contain more files than certificates than OV (Organization Validated) and DV (Domain Validated) certificates.
Browsers include a list of trusted CAs, and they use the list to determine whether to trust a specific CA.
You can locate a domain’s CA bundle with either of the following UAPI functions:
You can install a CA bundle in either of the following interfaces:
- WHM’s Install an SSL Certificate on a Domain interface (WHM » Home » SSL/TLS » Install an SSL Certificate on a Domain).
- cPanel’s Manage SSL Sites interface (cPanel » Home » Security » SSL/TLS » Manage SSL Sites).
You can also use the UAPI SSL::install_ssl
function to install a CA bundle.
CAA records
A Certification Authority Authorization (CAA) record specifies which CAs may issue certificates for a domain. If no CAA records exist for a domain, all CAs can issue certificates for that domain. You can manage CAA records through WHM’s DNS Zone Manager interface (WHM » Home » DNS Functions » DNS Zone Manager) or through cPanel’s Zone Editor interface (cPanel » Home » Domains » Zone Editor).
If conflicting CAA records already exist, you must either remove the current CAA records or add one for the desired CAA. For example, a CAA record for Let’s Encrypt™ would resemble the following example, where example.com
represents the domain name:
example.com. 86400 IN CAA 0 issue "letsencrypt.org"
AutoSSL
AutoSSL secures multiple domains with the assumption that all of the domains resolve to the same virtual host. A cPanel-issued AutoSSL certificate expires after 90 days. However, AutoSSL attempts to automatically replace that certificate before it expires.
If your hosting provider has enabled notifications for AutoSSL, the system will send you an email when it generates or renews an AutoSSL certificate for a domain.
- AutoSSL does not issue certificates for websites on suspended accounts. You must first activate the account in order for AutoSSL to issue a certificate.
- AutoSSL adds service subdomains to the SSL certificate using a sort algorithm. For more information about service subdomains, read our Service and Proxy Subdomains documentation.
AutoSSL sorting
AutoSSL uses a sort algorithm to establish which domains to add to the certificate first. This sort order ensures that the system adds the domains that customers will most likely visit to the certificate first. For example, customers most likely intend to navigate to example.com
versus www.subdomain.example.com
.
The default sort algorithm prioritizes domains in the following order:
-
Any fully-qualified domain names (FQDNs) that the virtual host’s current SSL certificate secures.
-
The primary domain on the cPanel account and its
ipv6
,www.
andmail.
subdomains. -
Each addon domain and its
www.
andmail.
subdomains. For example, theexample
cPanel user (whose primary domain isexample.com
), creates thefoo.com
addon domain. This addon domain, like all cPanel addon domains, exists on a separate virtual host with a subdomain. In this case, the system prioritizesfoo.com
overfoo.example.com
. -
Domains with fewer dots. For example, AutoSSL would prioritize
foo.com
overwww.foo.com
. -
The
www
,mail
,whm
,webmail
,cpanel
,autodiscover
, andwebdisk
subdomains.Note:AutoSSL only adds the
whm
service subdomain to the SSL certificate for reseller accounts. -
Shorter domains.
AutoSSL provider
The Let’s Encrypt provider
Let’s Encrypt™ is the default AutoSSL provider for all new installations. The Let’s Encrypt provider is free and comes with your cPanel & WHM license. For more information, read our Let’s Encrypt Plugin documentation.
The Let’s Encrypt provider has the following limitations:
-
A rate limit of 300 certificate orders every three hours.
-
A weekly limit of 50 registered domains.
-
A maximum of 100 subdomains per certificate.
-
Limits the certificates it issues to a specific set of domains to five certificates per week. After this, Let’s Encrypt blocks any further certificates for that set of domains.
Note:To work around this rate limit, create an alias to a domain in the virtual host list (website). Let’s Encrypt will interpret the virtual host as a new set of domains.
For more information about Let’s Encrypt’s rate limits, read their rate limit documentation.
Domain and rate limits
The AutoSSL feature includes the following limitations and conditions:
- A domain’s DNS zone contains CAA records. These CAA records restrict which CAs may issue certificates for that domain. If a CAA record for another provider already exists, you can remove that CAA record or add one for the desired CA. If no CAA records exist for a domain, all CAs can issue certificates for that domain.
- Your server’s DNS zone can have more than one CAA record to receive certificates from more than one CA.
- Certificates that Let’s Encrypt provides can secure a maximum of 100 domains every three hours.
- Aliases count three times towards each certificate’s domains limit. When you create an alias domain, the system adds the following aliases to the original virtual host (where
aliasdomain.com
represents the alias domain):aliasdomain.com
www.aliasdomain.com
mail.aliasdomain.com
- Aliases count three times towards each certificate’s domains limit. When you create an alias domain, the system adds the following aliases to the original virtual host (where
- AutoSSL only includes domains and subdomains that pass a DCV test. This DCV proves ownership of the domain.
- AutoSSL includes corresponding
www.
domains for each domain and subdomain in the certificate, and thosewww.
domains count towards any domain or rate limits. For example, for theexample.com
domain, AutoSSL automatically includeswww.example.com
in the certificate. If the correspondingwww.
domain does not pass a DCV test, AutoSSL will not attempt to secure thatwww.
domain.- This method affects Let’s Encrypt’s limit of 50 certificates per week that may contain a domain or its subdomains.
- The Let’s Encrypt provider will secure wildcard domains.
- Each AutoSSL provider may wait for a specific amount of time to replace an AutoSSL-provided certificate before it expires. For example:
- AutoSSL attempts to renew certificates that Let’s Encrypt provides when they expire within 29 days.
- Due to rate limits, AutoSSL prioritizes new certificates over the renewal of existing certificates.
- AutoSSL will not attempt to replace certificates that it did not issue. You can override this behavior if you enable the Allow AutoSSL to replace invalid or expiring non-AutoSSL certificates setting in WHM’s Manage AutoSSL interface (WHM » Home » SSL/TLS » Manage AutoSSL).
- AutoSSL replaces certificates with overly-weak security settings. For example, an RSA modulus of 2048-bit or less.
- A virtual host may contain more than the provider’s limit of domain names per certificate. AutoSSL uses a sort algorithm to determine the priority of domains to secure. For more information, read the AutoSSL sorting section above.
- If you are using AutoSSL or SSL certificates purchased via your cPanel account to secure a linked mail node, your cPanel & WHM nodes must be able to manage its authoritative DNS server.
Manually renew AutoSSL certificates
AutoSSL provides and renews SSL certificates. AutoSSL attempts to renew certificates that Let’s Encrypt provides when they expire within 29 days. You can also manually renew certificates prior to the next automated run.
Manually renew a hostname certificate
To manually renew a server’s hostname certificate, run the checkallsslcerts
script as the root
user on the command line:
/usr/local/cpanel/bin/checkallsslcerts
Manually renew a certificate for a single cPanel user
To manually renew a certificate for a single cPanel user, perform the following steps:
- Log in to cPanel as the user.
- Navigate to cPanel’s SSL/TLS Status interface (cPanel » Security » SSL/TLS Status).
- Select Run AutoSSL.
Manually renew a certificate before expiration
To manually renew a domain’s certificate before it expires, perform the following steps:
- Log in to cPanel as the user.
- Navigate to cPanel’s Manage SSL Sites interface (cPanel » Security » SSL/TLS » Manage SSL Sites).
- Delete the affected certificate.
- Navigate to cPanel’s SSL/TLS Status interface (cPanel » Security » SSL/TLS Status).
- Select Run AutoSSL.
Update an expired SSL certificate without AutoSSL
- You must possess a valid SSL certificate to complete the steps in this section.
- You can purchase a valid SSL certificate from your preferred SSL certificate provider.
Manually update a certificate in WHM
To manually update an expired SSL certificate in WHM without using AutoSSL, perform the following steps:
- Navigate to WHM’s Install an SSL Certificate on a Domain interface (WHM » Home » SSL/TLS » Install an SSL Certificate on a Domain).
- Follow the instructions in the Install an SSL certificate section of our Install an SSL Certificate on a Domain documentation.
Manually update a certificate in cPanel
To manually update an expired SSL certificate in cPanel without using AutoSSL, perform the following steps:
- Log in to cPanel as the user.
- Navigate to cPanel’s Manage SSL Hosts interface (cPanel » Security » SSL/TLS » Manage SSL Sites).
- Select the domain with the expired certificate from the Domain menu.
- Located under the Install an SSL Website section, configure the following text boxes:
- Certificate: (CRT).
- Private Key (KEY).
- Certificate Authority Bundle: (CABUNDLE).
Note:In most cases, you do not need to supply the CA bundle because the server will fetch it from a public repository during installation.
- Click Install Certificate.