> For the complete documentation index, see [llms.txt](https://docs.uxwizz.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.uxwizz.com/guides/troubleshooting/dashboard/license-says-invalid.md).

# License says "invalid"

### Problem:

Entering your license key returns **Invalid license key**, or a license/update check cannot complete.

### Cause:

Possible causes include a mistyped key, a package that does not match your license, or a failed HTTPS request from your server to the license service. Check the actual error before replacing files.

### Solution:

1. Copy the key from your purchase information without extra spaces. Do not share it in screenshots or public logs.
2. Check the installed UXWizz version and package type, including WordPress or Agency. Contact [support](/guides/support.md) if the package does not match your purchase.
3. Ask your administrator to check the PHP error log for the failed request. A certificate, DNS, timeout, or connection error needs a server-side repair.
4. Retry the license check after the underlying error is resolved.

For a wrong-package installation, support can provide the matching replacement files needed to request the correct package. This was the two-file repair described in older versions of this guide. Give support your installed version and license type first; do not mix files from different releases.

#### For case #2: The requests to the license server are blocked.

The server must be able to reach `license-api.uxwizz.com` over HTTPS. Check DNS, outbound firewall rules, proxy configuration, and the server clock.

For a certificate validation error:

1. Check which PHP configuration the web server uses; CLI PHP may use a different one.
2. Update the operating system's trusted CA certificates through its normal package management process.
3. If PHP uses a custom CA bundle, check its configured path and readability. Back it up before replacing it with a verified current bundle, such as the one documented by [curl's CA Extract page](https://curl.se/docs/caextract.html).
4. Reload the affected PHP service if required and retry the request.

Do not disable certificate or hostname verification. A missing certificate must be fixed in the trust store used by the failing process.

On Ubuntu, refresh the operating system's CA bundle with:

```bash
sudo apt update
sudo apt install --reinstall ca-certificates
sudo update-ca-certificates
```

For PHP installations with a custom bundle, check `openssl.cafile` and `curl.cainfo` in the **web service's** `php.ini`. An old bundle can be missing the Let's Encrypt ISRG root certificate. After backing up the existing file, download `cacert.pem` from the curl page above, place it outside the web root, and set the relevant paths, for example:

```ini
openssl.cafile = "C:/php/certs/cacert.pem"
curl.cainfo = "C:/php/certs/cacert.pem"
```

Use your actual path and make the file readable by PHP. Restart the affected PHP/Apache service and retry the license check. Updating the OS bundle alone will not replace an explicitly configured, outdated PHP bundle.
