TC_080_CSMS — Secure Firmware Update
TC_080_CSMS — Secure Firmware Update
Source: OCPP 1.6 — Compliancy Testing Tool — Test Case Document (Trial 2025-06, Draft). System Under Test: Central System, page 188.
Identification
| Field | Value |
|---|---|
| Test case name | Secure Firmware Update |
| Test case Id | TC_080_CSMS |
| System under test | Central System |
Description
The firmware of a Charge Point is updated in a secure way.
Purpose
To check whether Central System can trigger a Charge Point to update its firmware in a secure way.
Prerequisite(s)
- N/a
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) |
|---|---|
| 2. The Charge Point sends a SignedUpdateFirmware.conf | 1. The Central System sends a SignedUpdateFirmware.req |
| 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 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 SignedFirmwareStatusNotification.req | 12. The Central System responds with a SignedFirmwareStatusNotification.conf |
| 13. The Charge Point sends a BootNotification.req | 14. The Central System responds with a BootNotification.conf |
| 15. The Charge Point sends a SecurityEventNotification.req | 16. The Central System responds with a SecurityEventNotification.conf |
| 17. The Charge Point sends a StatusNotification.req | 18. The Central System responds with a StatusNotification.conf |
| [The Charge Point has finished installing the firmware]; 19. The Charge Point sends a SignedFirmwareStatusNotification.req | 20. The Central System responds with a SignedFirmwareStatusNotification.conf |
Tool validation(s)
Charge Point side:
Step 3:
(Message: SignedFirmwareStatusNotification.req) The status is Downloading
- After step 2 and before step 9: Message: StatusNotification.req The status is Unavailable
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 11:
(Message: SignedFirmwareStatusNotification.req) The status is InstallRebooting
Step 15:
(Message SecurityEventNotification.req) typeFirmwareUpdated
Step 17:
(Message: StatusNotification.req) The status is Available
Step 19:
(Message: SignedFirmwareStatusNotification.req) The status is Installed
Step 13 / 15 / 17 / 19:
The messages can be in a different order.
Central System side:
Step 1:
(Message: SignedUpdateFirmware.req) firmware.location is <Configured Firmware Download URL> firmware.signature is <Configured signature> firmware.signingCertificate is <Configured signingCertificate> After step 2 and before step 9: the CS responds to the StatusNotification.req with a StatusNotification.conf
Expected result(s) / behaviour
Charge Point side:
The Charge Point handles the firmware update correctly and is Available after the update.
Central System side:
The Central System receives and responds to the FirmwareStatusNotification messages.