Skip to content
Documentation Menu

TC_A_09_CSMS — Update Charging Station Password for HTTP Basic Authentication - Accepted

TC_A_09_CSMS — Update Charging Station Password for HTTP Basic Authentication - Accepted

Source: OCPP 2.0.1 Part 6 — Test Cases (Core & Advanced Security, FINAL, 2023-06-30) — Functional block A. Security, page 339.

Identification

FieldValue
Test case nameUpdate Charging Station Password for HTTP Basic Authentication - Accepted
Test case IdTC_A_09_CSMS
Use case Id(s)A01
Requirement(s)A01.FR.02, A01.FR.03
System under testCSMS
Functional blockA. Security

Description

This test case defines how to use the BasicAuthPassword, the password used to authenticate Charging Stations in security profile 1 (Basic Authentication) and security profile 2 (TLS with Basic Authentication)

Purpose

To verify if the CSMS is able to successfully set the new BasicAuthPassword and only accepts the new credentials as described at the OCPP specification.

Prerequisite(s)

The CSMS supports security profile 1 and/or 2

Before (Preparations)

Configuration State:

  • N/a

Memory State:

  • N/a

Reusable State(s):

  • N/a

Main (Test scenario)

Charging StationCSMS
2. The OCTT responds with a SetVariablesResponse; with status Accepted1. The CSMS sends a SetVariablesRequest with: setVariableData[1]:; - variable.name = "BasicAuthPassword"; - component.name = "SecurityCtrlr"; - attributeValue = "<NewPassword>"
3. The OCTT sends a HTTP upgrade request with an Authorization header, containing a username/password combination (with the new BasicAuthPassword).; Note(s):; - The Authorization header is formatted as follows: AUTHORIZATION: Basic <Base64 encoded(<Configured ChargingStationId>:<NEW BasicAuthPassword>)>4. The CSMS validates the username/password combination AND upgrades the connection to a (secured) WebSocket connection.
5. The OCTT sends a BootNotificationRequest6. The CSMS responds with a BootNotificationResponse
7. The OCTT notifies the CSMS about the current state of all connectors.8. The CSMS responds accordingly.

Tool validations

Step 1:

Message: SetVariableRequest

  • variable.name = "BasicAuthPassword"
  • component.name = "SecurityCtrlr"

Step 6:

Message: BootNotificationResponse

  • status must be Accepted

Post scenario validations

  • N/a