TC_L_08_CS — Secure Firmware Update - InstallVerificationFailed or InstallationFailed
TC_L_08_CS — Secure Firmware Update - InstallVerificationFailed or InstallationFailed
Source: OCPP 2.0.1 Part 6 — Test Cases (Core & Advanced Security, FINAL, 2023-06-30) — Functional block L. FirmwareManagement, page 247.
Identification
| Field | Value |
|---|---|
| Test case name | Secure Firmware Update - InstallVerificationFailed or InstallationFailed |
| Test case Id | TC_L_08_CS |
| Use case Id(s) | L01 |
| Requirement(s) | L01.FR.01,L01.FR.10,L01.FR.12,L01.FR.20 |
| 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 to report to the CSMS when the firmware verification fails.
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 at the OCTT configured invalid firmware location needs to point to a firmware file that causes an InstallVerificationFailed.
Before (Preparations)
Configuration State:
-
- <Configured invalid firmware location> should point to existing firmware that causes an InstallVerificationFailed
-
- <Configured invalid firmware signingCertificate> should be a trusted signingCertificate
-
- <Configured invalid firmware signature> should be a real signature
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.installDateTime <Current DateTime - 2 hours> firmware.location <Configured invalid firmware location> firmware.retrieveDateTime <Current DateTime + <Configured Download Offset Period>> firmware.signingCertificate <Configured invalid firmware signingCertificate> firmware.signature <Configured invalid firmware signature> |
| 3. The Charging Station sends a FirmwareStatusNotificationRequest. | 4. The OCTT responds with a FirmwareStatusNotificationResponse. |
| 5. The Charging Station sends a FirmwareStatusNotificationRequest.; Note(s):; - This step needs to executed after the configured retrieveDateTime is reached. | 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. | 12. The OCTT responds with a FirmwareStatusNotificationResponse. |
| 13. The Charging Station sends a FirmwareStatusNotificationRequest. | 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 notifies the CSMS about the current state of all connectors. | 18. The OCTT responds accordingly. |
| 19. The Charging Station sends a FirmwareStatusNotificationRequest. | 20. The OCTT responds with a FirmwareStatusNotificationResponse. |
| Note(s):; - Steps 13, 14, 15, 16, 17, 18 are optional if the Charging Station needs to reboot during a firmware update AND the bootloader is unable to send OCPP messages. |
Tool validations
Step 2:
Message UpdateFirmwareResponse
- status Accepted
Step 3:
Message FirmwareStatusNotificationRequest
- status DownloadScheduled
Step 5:
Message FirmwareStatusNotificationRequest
- status Downloading
Step 7:
Message FirmwareStatusNotificationRequest
- status Downloaded
Step 9:
Message FirmwareStatusNotificationRequest
- status SignatureVerified
Step 11:
Message FirmwareStatusNotificationRequest
- status Installing
Step 13:
Message FirmwareStatusNotificationRequest
- status InstallRebooting
Step 15:
Message BootNotificationRequest
- reason FirmwareUpdate
Step 17:
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 19:
Message FirmwareStatusNotificationRequest
- status InstallVerificationFailed or InstallationFailed
Post scenario validations
- N/a