https://www.ssllabs.com/ssltest/ or just look at the certificate in your web browser (click the padlock and go from there) if the certificate has less than 1 month of life left, you could have a problem, as 3-month certificates are normally renewed (and replaced by the new certificate) when they have 1 month of life left; the final month is leeway to allow you to realize there's a problem and resolve it before the certificate actually expires. Less than 1 month remaining implies that the renewal process might be failing for not even running. If it's got like 27 days left you should just keep an eye on it but especially if it gets under 25 you probably need to start investigating. Answer from throwaway234f32423df on reddit.com
๐ŸŒ
SSLShopper
sslshopper.com โ€บ ssl-checker.html
SSL Checker
The SSL Checker makes it easy to verify your SSL certificates by connecting to your server and displaying the results of the SSL connection. It runs the following checks: ... Whether the server is giving out the correct intermediate certificates so there are no untrusted warnings in users' browsers
๐ŸŒ
DigiCert
digicert.com โ€บ help
SSL Certificate Checker - Diagnostic Tool | DigiCert.com
If you are having a problem with your SSL certificate installation, please enter the name of your server. Our installation diagnostics tool will help you locate the problem and verify your SSL Certificate installation.
๐ŸŒ
Acquia
acquia.my.site.com โ€บ s โ€บ article โ€บ 360004119234-Verifying-the-validity-of-an-SSL-certificate
Verifying the validity of an SSL certificate - Acquia Support
Verify that the Public Key contained in the Private Key file and the Main/Server Certificate are the same ยท Check that the Valid From and Valid To dates of the certificate are correct ... For details on formats, see the Format conversions section, below. Run the following commands to check if your files are already in the required PEM format: Check to see if your Private Key is ...
๐ŸŒ
Warp
warp.dev โ€บ terminus โ€บ openssl-check-certificate
Warp: How To Verify A Certificate With OpenSSL
January 31, 2024 - To decode and verify an entire certificate, you can use the following command: $ openssl x509 -in <cert> -noout -text Run in Warp ... The -noout flag is used to prevent the output of the encoded version of the request.
๐ŸŒ
Globaltrust
globaltrust.eu โ€บ en โ€บ signature-verification-which-steps-are-necessary-to-validate-verify-a-certificate
Signature verification: Which steps are necessary to validate / verify a certificate? | Global Trust
The following steps are carried out (not necessarily in this order) to check the validity of a certificate: ... If one of these steps fails, the certificate is invalid and, depending on the software, a more or less exact error message or warning is issued. Each X.509 certificate is signed with the private key of the issuer of the certificate. The signature can be checked using the associated public key. If the signature verification fails, the document was a) never signed or b) the document has been modified since the signature.
๐ŸŒ
Keyfactor
keyfactor.com โ€บ home โ€บ how to check ssl certificates and stay secure
How to Check SSL Certificates and Stay Secure | Keyfactor
2 weeks ago - To check if an SSL certificate is installed, you can use the Certificate Manager tool and check its validity period. Another alternative option is to use the sigcheck Windows Sysinternals utility to verify TLS version.
Find elsewhere
๐ŸŒ
GoDaddy
godaddy.com โ€บ home โ€บ ssl validation: how to check and make sure an ssl certificate is valid?
SSL validation: how to check and make sure an SSL certificate is valid? - GoDaddy Resources - Asia
July 10, 2025 - These are organizations that are ... that the website is secure. When you visit a website, your browser checks to see if the SSL/TLS certificate is valid and has been issued by a trusted CA....
Top answer
1 of 5
433

Here is a very simplified explanation:

  1. Your web browser downloads the web server's certificate, which contains the public key of the web server. This certificate is signed with the private key of a trusted certificate authority.

  2. Your web browser comes installed with the public keys of all of the major certificate authorities. It uses this public key to verify that the web server's certificate was indeed signed by the trusted certificate authority.

  3. The certificate contains the domain name and/or ip address of the web server. Your web browser confirms with the certificate authority that the address listed in the certificate is the one to which it has an open connection.

  4. Browser and server calculate a shared symmetric key which is used for the actual data encryption. Since the server identity is verified the client can be sure, that this "key exchange" is done with the right server and not some man in the middle attacker.

Note that the certificate authority (CA) is essential to preventing man-in-the-middle attacks. However, even an unsigned certificate will prevent someone from passively listening in on your encrypted traffic, since they have no way to gain access to your shared symmetric key.

2 of 5
91

You said that

the browser gets the certificate's issuer information from that certificate, then uses that to contact the issuerer, and somehow compares certificates for validity.

The client doesn't have to check with the issuer because two things :

  1. all browsers have a pre-installed list of all major CAs public keys
  2. the certificate is signed, and that signature itself is enough proof that the certificate is valid because the client can make sure, on his own, and without contacting the issuer's server, that that certificate is authentic. That's the beauty of asymmetric encryption.

Notice that 2. can't be done without 1.

This is better explained in this big diagram I made some time ago

(skip to "what's a signature ?" at the bottom)

๐ŸŒ
SSL.com
ssl.com โ€บ home โ€บ uncategorized โ€บ browsers and certificate validation
Browsers and Certificate Validation - SSL.com
September 19, 2025 - The signature on the certificate can be verified using normal public key cryptography. If the signature is invalid, then the certificate is considered to be modified after its issuance and is therefore rejected.
๐ŸŒ
Microsoft Learn
learn.microsoft.com โ€บ en-us โ€บ answers โ€บ questions โ€บ 1680219 โ€บ how-to-check-my-certificate-is-valid-or-not
HOW to check my certificate is valid or not? - Microsoft Q&A
If you click the certificate details you'll get an updated cert UI that shows when it expires and a link that can be shared with others to confirm your credentials. ... Hi @aswanth sd Thank you for posting the question here.
Top answer
1 of 4
86

You are correct that SSL uses an asymmetric key pair. One public and one private key is generated which also known as public key infrastructure (PKI). The public key is what is distributed to the world, and is used to encrypt the data. Only the private key can actually decrypt the data though. Here is an example:

Say we both go to walmart.com and buy stuff. Each of us get a copy of Walmart's public key to sign our transaction with. Once the transaction is signed by Walmart's public key, only Walmart's private key can decrypt the transaction. If I use my copy of Walmart's public key, it will not decrypt your transaction. Walmart must keep their private key very private and secure, else anyone who gets it can decrypt transactions to Walmart. This is why the DigiNotar breach was such a big deal

Now that you get the idea of the private and public key pairs, it's important to know who actually issues the cert and why certs are trusted. I'm oversimplifying this, but there are specific root certificate authorities (CA) such as Verisign who sign certs, but also sign for intermediary CA's. This follows what is called Chain of Trust, which is a chain of systems that trust each other. See the image linked below to get a better idea (note the root CA is at the bottom).

Organizations often purchase either wildcard certs or get registered as a intermediate CA themselves who is authorized to sign for their domain alone. This prevents Google from signing certs for Microsoft.

Because of this chain of trust, a certificate can be verified all the way to the root CA. To show this, DigiCert (and many others) have tools to verify this trust. DigiCert's tool is linked here. I did a validation on gmail.com and when you scroll down it shows this:

This shows that the cert for gmail.com is issued by Google Internet Authority G2, who is in turn issued a cert from GeoTrust Global, who is in turn issued a cert from Equifax.

Now when you go to gmail.com, your browser doesn't just get a blob of a hash and goes on it's way. No, it gets a whole host of details along with the cert:

These details are what your browser uses to help identify the validity of the cert. For example, if the expiration date has passed, your browser will throw a cert error. If all the basic details of the cert check out, it will verify all the way to the root CA, that the cert is valid.

Now that you have a better idea as to the cert details, this expanded image similar to the first one above will hopefully make more sense:

This is why your browser can verify one cert against the next, all the way to the root CA, which your browser inherently trusts.

2 of 4
3

To clarify one point from the question not covered in the otherwise excellent answer by @PTW-105 (and asked in the comment there by @JVE999):

I thought public key is to encrypt data, not to decrypt data...

The keys work both ways - what is encrypted with the public key can only be decrypted with the private and vice versa. We just decide one is private and one is public, there's no conceptual difference.

So if I encrypt data to send to you I use your public key to encrypt it and only you can decrypt it with your private key.

However, if I want to sign something, to prove it came from me, then I generate a hash of the message and encrypt that hash with my private key. Then anyone can decrypt it with my public key and compare to the actual message hash, but they know that only I could have encrypted it, since only I have my private key. So they know the message hash hasn't changed since I signed it, and therefore that it came from me.

As per the comments, the above is not quite true. See the link from the comment by @dave_thompson_085. However, this isn't a "how to sign properly" tutorial, just clarifying the roles of private and public keys in encryption verses signing. The basic point in that regard is this:

  • To encrypt data the external party uses a public key and only the private key holder can decrypt it.
  • To sign, the private key holder uses a hash function and their private key (plus appropriate padding, etc.). The external party can then verify the signature using the public key. This ensures the message came from the private key holder (assuming no-one else has access to the private key).

Signing may sometimes (depending on the implementation) be done with the same key pair as encryption, just used the other way round, or it may use a distinct key pair (see another link, also from @dave_thompson_085's comment)

๐ŸŒ
Acquia
docs.acquia.com โ€บ acquia-cloud-platform โ€บ help โ€บ 93661-verifying-validity-ssl-certificate
Verifying the validity of an SSL certificate
Verify that the Public Key contained in the Private Key file and the Main/Server Certificate are the same ยท Check that the Valid From and Valid To dates of the certificate are correct ... For details on formats, see the Format conversions section, below. Run the following commands to check if your files are already in the required PEM format: Check to see if your Private Key is ...
๐ŸŒ
GASQ
gasq.org โ€บ en โ€บ certification โ€บ check-a-certificate.html
Check a Certificate - GASQ
Just enter the last name of a person and the complete certificate number to verify a certain certificate. Please be informed the verification is only working for certificates which are issued from October 2017 on.
๐ŸŒ
Keenformatics
keenformatics.com โ€บ manually-verifying-an-ssl-certificate
Manually verifying an SSL certificate โ€“ Keenformatics โ€“ A (not so) tedious blog about informatics.
February 28, 2023 - Since my website is hosted by Netlify, which relies on the Letโ€™s Encrypt CA for its SSL certificates, the hierarchy above is the same documented on Letโ€™s Encryptโ€™s website: ... Now that we have all the certificates in our hierarchy, we can check if they are valid. To verify the leaf of the hierarchy (that refers to the actual website weโ€™re investigating) we need to verify all other certificates as well.
๐ŸŒ
Apidog
apidog.com โ€บ blog โ€บ ssl-certificate-verification
An Ultimate Guide to SSL Certificate Verification
August 1, 2025 - Firstly, the browser checks if the SSL certificate is valid and has not expired. It then verifies the digital signature of the certificate using the public key of the certificate authority (CA) that issued it.
๐ŸŒ
CyberArk
cyberark.com โ€บ home โ€บ certificate validation
Certificate Validation | CyberArk
March 24, 2025 - RFC 6960 provides a conventional ... path of X.509 certificates. Browsers verify all certificates in the chain, starting from the trust anchor, checking both the core data and required extensions....