You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+13-2Lines changed: 13 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,7 +39,7 @@ As of this version :
39
39
40
40
* All the messages defined in the OCPP 1.6 edition 2 protocol have been implemented except GetCompositeSchedule for Charge Point role
41
41
* All the configuration keys defined in the OCPP 1.6 edition 2 protocol have been implemented for the Charge Point role
42
-
*Most of Charge Point and Central System behavior related to the OCPP 1.6 security whitepaper edition 2 has been implemented (work in progress, see [OCPP security extensions](#ocpp-security-extensions))
42
+
*All the messages defined in the OCPP 1.6 security whitepaper edition 2 have been implemented
43
43
44
44
The user application will have to implement some callbacks to provide the data needed by **Open OCPP** or to handle OCPP events (boot notification, remote start/stop notifications, meter values...).
45
45
@@ -123,12 +123,13 @@ In the "Owner" column, "S" means that the configuration key behavior is handled
123
123
| ChargingScheduleMaxPeriods | S | None |
124
124
| ConnectorSwitch3to1PhaseSupported | S | None |
125
125
| MaxChargingProfilesInstalled | S | None |
126
-
| AdditionalRootCertificateCheck | U/S |Not implemented yet : implemented behavior is the same as if AdditionalRootCertificateCheck = False |
126
+
| AdditionalRootCertificateCheck | U/S |If internal certificate management is enabled, the stack handle this parameter (implemented behavior for now is the always the one corresponding to AdditionalRootCertificateCheck = False), otherwise it must be the user application|
127
127
| AuthorizationKey | S | None |
128
128
| CertificateSignedMaxChainSize | S | None |
129
129
| CertificateStoreMaxLength | U/S | If internal certificate management is enabled, the stack handle this parameter, otherwise it must be the user application |
130
130
| CpoName | S | None |
131
131
| SecurityProfile | S | None |
132
+
| SupportedFileTransferProtocols | U | None |
132
133
133
134
### OCPP security extensions
134
135
@@ -145,6 +146,8 @@ In Charge Point role, the stack will automatically disconnect and then reconnect
145
146
***AuthorizationKey**
146
147
***Security Profile**
147
148
149
+
**Restriction** : The automatic fallback to old connection parameters if the connection fails after switching to a new security is not implemented yet.
150
+
148
151
#### Security events
149
152
150
153
**Open OCPP** support the whole use cases of security events and logging.
@@ -177,6 +180,14 @@ If **InternalCertificateManagementEnabled** is set to **false**, the actual stor
177
180
178
181
If **InternalCertificateManagementEnabled** is set to **true**, the storage of certificates and their keys is fully handled by **Open OCPP**. The user application just has to provide a passphrase using the **TlsClientCertificatePrivateKeyPassphrase** configuration key to securily encrypt the certicates' private keys using AES-256-CBC algorithm. **Open OCPP** will automatically use the installed corresponding certificates depending on the configured Security Profile and the certificates validity dates.
179
182
183
+
**Restriction** : The automatic fallback to old certificate if the connection fails after installing new certificate is not implemented yet.
184
+
185
+
#### Signed firmware update
186
+
187
+
**Open OCPP** support this feature for both Charge Point and Central System roles.
188
+
189
+
**Open OCPP** provides helper classes based on OpenSSL to ease private keys, certificate and certificate requests usage : generation, signature, verification. They can be used in the user application callbacks. These helpers can be found in the ocpp::tools::x509 namespace and are widely used in the **Open OCPP** source code and examples.
190
+
180
191
### Internal configuration keys
181
192
182
193
The behavior and the configuration of the **Open OCPP** stack can be modified through configuration keys. Some are specific to an OCPP role and some are common.
Copy file name to clipboardExpand all lines: examples/README.md
+7-1Lines changed: 7 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,12 +2,18 @@
2
2
3
3
All the examples are licensed under the MIT licence so that code can be used and modified at will without having to contribute back.
4
4
5
-
The following examples are available :
5
+
The following examples are available for OCPP 1.6 standard :
6
+
6
7
*[Quick start Central System example](./quick_start_centralsystem/README.md)
7
8
*[Quick start Charge Point example](./quick_start_chargepoint/README.md)
8
9
*[Remote Charge Point example](./remote_chargepoint/README.md)
10
+
11
+
The following examples are available for OCPP 1.6 security extensions :
12
+
13
+
*[Security Central System example](./security_centralsystem/README.md)
9
14
*[Security Charge Point example](./security_chargepoint/README.md)
10
15
11
16
How to run the examples:
17
+
12
18
* Customize the *config.ini* file of the selected example with the URL of the Central System and the other connection parameters has well has the OCPP configuration keys
13
19
* Run the example using the **-w** option to specify the path of the configuration file
Copy file name to clipboardExpand all lines: examples/security_centralsystem/README.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@
4
4
The certificate management implemented in this example does not follow the state of the arts recommendations :
5
5
6
6
* Secure storage of private keys / authentication credentials
7
-
* No password on private keys
7
+
* No password on some private keys
8
8
* ... and surely some more
9
9
10
10
The choosen implementation has only be made to have a simple and comprehensive example of how to use **Open OCPP** features.
@@ -16,6 +16,8 @@ The central system loops on its connected charge points. For each charge point i
16
16
17
17
* Configure security profile of the Charge Point from 0 to 3
18
18
* Security events / logging
19
+
* Signed firmware update
20
+
* Certificate management
19
21
20
22
This example must be used with the **security_chargepoint** example since 1 step of the implementation of the security profile change is non standard : the configuration of the connection URL of the charge point.
Copy file name to clipboardExpand all lines: examples/security_chargepoint/README.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,6 +15,7 @@ This example simulates a charge point which uses the messages defined in the sec
15
15
16
16
* Security events / logging
17
17
* Certificate management and secure connection
18
+
* Signed firmware update
18
19
19
20
This example must be used with the **security_centralsystem** example since 1 step of the implementation of the security profile change is non standard : the configuration of the connection URL of the charge point.
0 commit comments