> For the complete documentation index, see [llms.txt](https://help.security.gallagher.com/knowledge-hub/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.security.gallagher.com/knowledge-hub/products/cc-hardware/controllers/controller-7000-and-7000-sdc/reference/controller-7000-certificates-and-keys.md).

# Certificates and keys

Understand Controller 7000 certificates, factory keys, key rotation, and certificate trust.

Controllers use certificates and keys for security and identification when they communicate with Command Centre and integrated services.

This information also applies to Controller 7000 SDC.

***

#### What certificates and keys does a controller use?

The controller certificate is used for communicating with the **FTCAPI interface** and the **Elevator service**. It is issued by the Command Centre service and is self-contained within the Command Centre, Controller, and FTCAPI environment.

* The certificate is regenerated once a week on the server.
* As long as the controller is connected to the Command Centre server, the certificate is always renewed before it expires.
* Controllers using the FTCAPI interface must periodically connect to the Command Centre server to update their certificate.

***

#### Why does a penetration test flag the controller certificate as untrusted?

If a penetration test flags the controller certificate as **untrusted**, this is a **false positive** from the scanning system.

Gallagher uses self-signed certificates that do not use a global CA to establish the trust chain. They are still secure:

1. Gallagher generates and installs a **root CA certificate** with the server on installation. This is inserted into both the server's trusted root store and the Gallagher database.
2. Command Centre creates a **unique certificate for each controller**, signs it with the root CA certificate, and configures it on the controller before deployment.
3. This establishes a verified chain of trust between the server and each individual controller.

> **Note:** It is not expected that any external application should make use of a controller's certificate, nor should a controller be treated as a public server. The risk flagged by external scanning tools is not applicable to this deployment model.

***

#### How do controller keys change over the controller's life?

At manufacture, each controller is provisioned with **factory keys** that are securely stored. These keys allow the controller to be trusted when it first connects to a server.

1. **At manufacture:** the controller is loaded with factory keys.
2. **On first connection to a Command Centre server:** the controller is validated by securely validating the factory keys. The keys are then updated with a new unique key generated on the controller and validated by the server.
3. **Rolling:** keys roll once every **48-hour period**. The timing is not fixed.

> ⚠️ **Important:** Every time a controller is power-cycled with **DIP Switch 2 ON**, the controller falls back to its factory keys. This includes after a [DIP Switch 8 Recovery](/knowledge-hub/products/cc-hardware/controllers/controller-7000-and-7000-sdc/troubleshoot/controller-7000-dip-switch-8-recovery.md) procedure. After recovery, the controller needs to re-establish its unique keys on next connection to the server, and may require the "Revalidate Certificate" override in Command Centre.

***

🔗 **Related**

* [DIP Switch 8 Recovery](/knowledge-hub/products/cc-hardware/controllers/controller-7000-and-7000-sdc/troubleshoot/controller-7000-dip-switch-8-recovery.md). Recovery reverts a controller to its factory keys.
* [Run LED Diagnostics and Shutdown Codes](/knowledge-hub/products/cc-hardware/controllers/controller-7000-and-7000-sdc/troubleshoot/controller-7000-run-led-diagnostics-an.md). A 4-flash or 5-flash state points to a key or certificate problem.
* [Bringing Online and Networking](/knowledge-hub/products/cc-hardware/controllers/controller-7000-and-7000-sdc/configure/controller-7000-bringing-online-and-ne.md). First connection is when unique keys are established.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.security.gallagher.com/knowledge-hub/products/cc-hardware/controllers/controller-7000-and-7000-sdc/reference/controller-7000-certificates-and-keys.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
