Skip to content
Documentation Menu

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

FieldValue
Test case nameSecure Firmware Update - InstallVerificationFailed or InstallationFailed
Test case IdTC_L_08_CS
Use case Id(s)L01
Requirement(s)L01.FR.01,L01.FR.10,L01.FR.12,L01.FR.20
System under testCharging Station
Functional blockL. 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 StationCSMS
2. The Charging Station responds with a UpdateFirmwareResponse1. 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 BootNotificationRequest16. 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