TC_L_02_CS — Secure Firmware Update - InstallScheduled
TC_L_02_CS — Secure Firmware Update - InstallScheduled
Source: OCPP 2.0.1 Part 6 — Test Cases (Core & Advanced Security, FINAL, 2023-06-30) — Functional block L. FirmwareManagement, page 237.
Identification
| Field | Value |
|---|---|
| Test case name | Secure Firmware Update - InstallScheduled |
| Test case Id | TC_L_02_CS |
| Use case Id(s) | L01 |
| Requirement(s) | L01.FR.01,L01.FR.04,L01.FR.05,L01.FR.09,L01.FR.10,L01.FR.12,L01.FR.15,L01.FR.16,L01.FR.20,L01.FR.21,L 01.FR.23 |
| System under test | Charging Station |
| Functional block | L. FirmwareManagement |
Description
The CSMS is able to request the Charging Station to securely download and install a new firmware by sending an UpdateFirmwareRequest with a signingCertificate.
Purpose
To verify if the Charging Station is able securely download a new firmware and schedule its installation.
Prerequisite(s)
- A file server has been setup according to the (by the Charging Station) supported file transfer protocol(s), indicated by the configuration variable FileTransferProtocols.
- The OCTT configuration firmware installDateTime needs to set to a future dateTime.
Before (Preparations)
Configuration State:
- N/a
Memory State:
- N/a
Reusable State(s):
- N/a
Main (Test scenario)
| Charging Station | CSMS |
|---|---|
| 2. The Charging Station responds with a UpdateFirmwareResponse | 1. The OCTT sends a UpdateFirmwareRequest; with firmware.location <Configured firmware_location> firmware.retrieveDateTime <Current DateTime - 2 hours> firmware.signingCertificate <Configured signingCertificate> firmware.signature <Configured signature> firmware.installDateTime <Current DateTime + <Configured Install Offset Period>> |
| 3. The Charging Station sends a FirmwareStatusNotificationRequest. | 4. The OCTT responds with a FirmwareStatusNotificationResponse. |
| 5. The Charging Station sends a FirmwareStatusNotificationRequest. | 6. The OCTT responds with a FirmwareStatusNotificationResponse. |
| 7. The Charging Station sends a FirmwareStatusNotificationRequest. | 8. The OCTT responds with a FirmwareStatusNotificationResponse. |
| 9. The Charging Station sends a FirmwareStatusNotificationRequest. | 10. The OCTT responds with a FirmwareStatusNotificationResponse. |
| 11. The Charging Station sends a FirmwareStatusNotificationRequest.; Note(s):; - This step needs to executed after the configured installDateTime is reached.; - This step is optional if the Charging Station needs to reboot during a firmware update AND the bootloader is unable to send OCPP messages.; - If the Charging Station does NOT need to reboot during a firmware update then this step needs to executed and then proceed to step 19. | 12. The OCTT responds with a FirmwareStatusNotificationResponse. |
| 13. The Charging Station sends a FirmwareStatusNotificationRequest.; Note(s):; - This step is optional if the Charging Station needs to reboot during a firmware update AND the bootloader is unable to send OCPP messages. | 14. The OCTT responds with a FirmwareStatusNotificationResponse. |
| 15. The Charging Station sends a BootNotificationRequest | 16. The OCTT responds with a BootNotificationResponse; with status Accepted |
| 17. The Charging Station sends a SecurityEventNotificationRequest. | 18. The OCTT responds with a SecurityEventNotificationResponse. |
| 19. The Charging Station notifies the CSMS about the current state of all connectors. | 20. The OCTT responds accordingly. |
| 21. The Charging Station sends a FirmwareStatusNotificationRequest. | 22. The OCTT responds with a FirmwareStatusNotificationResponse. |
Tool validations
Step 2:
Message UpdateFirmwareResponse
- status Accepted
Step 3:
Message FirmwareStatusNotificationRequest
- status Downloading
Step 5:
Message FirmwareStatusNotificationRequest
- status Downloaded
Step 7:
Message FirmwareStatusNotificationRequest
- status SignatureVerified
Step 9:
Message FirmwareStatusNotificationRequest
- status InstallScheduled
Step 11:
Message FirmwareStatusNotificationRequest
- status Installing
Step 13:
Message FirmwareStatusNotificationRequest
- status InstallRebooting
Step 15:
Message BootNotificationRequest
- reason FirmwareUpdate
Step 17:
Message SecurityEventNotificationRequest
- type FirmwareUpdated
Step 19:
Message: StatusNotificationRequest
- connectorStatus Available Message: NotifyEventRequest
- eventData[0].trigger Delta
- eventData[0].actualValue "Available"
- eventData[0].component.name "Connector"
- eventData[0].variable.name "AvailabilityState"
Step 21:
Message FirmwareStatusNotificationRequest
- status Installed
Post scenario validations
- N/a