TC_080_CS — Secure Firmware Update
TC_080_CS — Secure Firmware Update
Source: OCPP 1.6 — Compliancy Testing Tool — Test Case Document (Trial 2025-06, Draft). System Under Test: Charge Point, page 103.
Identification
| Field | Value |
|---|---|
| Test case name | Secure Firmware Update |
| Test case Id | TC_080_CS |
| System under test | Charge Point |
Description
The firmware of a Charge Point is updated in a secure way.
Purpose
To check whether the Charge Point can update its firmware in a secure way.
Prerequisite(s)
- The Charge Point supports the FirmwareManagement feature profile AND
- The Charge Point supports a security profile AND
- A firmware is prepared on a server (For example ftp) AND
- The tester configured the signature calculated over the firmware at the 'Signature' test data field.
Before (Preparations)
Configuration State(s):
- N/a
Memory State(s):
- N/a
Reusable State(s):
- N/a
Scenario Detail(s)
| Charge Point (SUT) | Central System (Tool) |
|---|---|
| [The Charge Point has verified the certificate]; 2. The Charge Point responds with a SignedUpdateFirmware.conf. | 1. The Central System sends a SignedUpdateFirmware.req. |
| [The Charge Point starts downloading the firmware]; 3. The Charge Point sends a SignedFirmwareStatusNotification.req. | 4. The Central System responds with a SignedFirmwareStatusNotification.conf. |
| [The Charge Point has finished downloading the firmware]; 5. The Charge Point sends a SignedFirmwareStatusNotification.req. | 6. The Central System responds with a SignedFirmwareStatusNotification.conf. |
| [The Charge Point has verified the signature]; 7. The Charge Point sends a SignedFirmwareStatusNotification.req. | 8. The Central System responds with a SignedFirmwareStatusNotification.conf. |
| [Before installing the firmware, the Charge Point MAY set all connectors to Unavailable. If the Charge Point supports installation of firmware during a charging session, the Charge Point MAY install the firmware after only setting all other connectors to Unavailable.]; [The Charge Point starts installing the firmware]; 9. The Charge Point sends a SignedFirmwareStatusNotification.req. | 10. The Central System responds with a SignedFirmwareStatusNotification.conf. |
| 11. The Charge Point sends a BootNotification.req. | 12. The Central System responds with a BootNotification.conf. |
| 13. The Charge Point optionally sends a SecurityEventNotification.req; With typeFirmwareUpdated | 14. The Central System responds with a SecurityEventNotification.conf |
| [On all connectors and connector = 0]; 15. The Charge Point sends a StatusNotification.req. | 16. The Central System responds with a StatusNotification.conf. |
| [The Charge Point has finished installing the firmware]; 17. The Charge Point sends a SignedFirmwareStatusNotification.req. | 18. The Central System responds with a SignedFirmwareStatusNotification.conf. |
Tool validation(s)
Charge Point side:
Step 2:
(Message: SignedUpdateFirmware.conf) The status is Accepted
Step 3:
(Message: SignedFirmwareStatusNotification.req) The status is Downloading
Step 5:
(Message: SignedFirmwareStatusNotification.req) The status is Downloaded
- SAtep 7: (Message: SignedFirmwareStatusNotification.req) The status is SignatureVerified
Step 9:
(Message: SignedFirmwareStatusNotification.req) The status is Installing
Step 15:
(Message: StatusNotification.req) The status is Available
Step 17:
(Message: SignedFirmwareStatusNotification.req) The status is Installed
Step 11 / 13 / 15 / 17:
The messages can be in a different order.
Central System side:
Step 1:
(Message: SignedUpdateFirmware.req) The firmware.location is <Configured firmware location>
Step 14:
(Message: BootNotification.conf) The status is Accepted
Expected result(s) / behaviour
Charge Point side:
The Charge Point handles the firmware update correctly and is Available after the update.
Central System side:
- N/a