From: Jérôme Benoit Date: Sun, 8 Jan 2023 11:48:58 +0000 (+0100) Subject: Add OCA security whitepaper JSON schemas X-Git-Tag: v1.1.89~11 X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=61f26ca68c0cadd13c224dd613f9acc501649775;p=e-mobility-charging-stations-simulator.git Add OCA security whitepaper JSON schemas Signed-off-by: Jérôme Benoit --- diff --git a/src/assets/json-schemas/ocpp/1.6/CertificateSigned.json b/src/assets/json-schemas/ocpp/1.6/CertificateSigned.json new file mode 100644 index 00000000..f4cbbbb5 --- /dev/null +++ b/src/assets/json-schemas/ocpp/1.6/CertificateSigned.json @@ -0,0 +1,13 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "urn:OCPP:Cp:1.6:2020:3:CertificateSigned.req", + "type": "object", + "properties": { + "certificateChain": { + "type": "string", + "maxLength": 10000 + } + }, + "additionalProperties": false, + "required": ["certificateChain"] +} diff --git a/src/assets/json-schemas/ocpp/1.6/CertificateSignedResponse.json b/src/assets/json-schemas/ocpp/1.6/CertificateSignedResponse.json new file mode 100644 index 00000000..c58d3232 --- /dev/null +++ b/src/assets/json-schemas/ocpp/1.6/CertificateSignedResponse.json @@ -0,0 +1,19 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "urn:OCPP:Cp:1.6:2020:3:CertificateSigned.conf", + "definitions": { + "CertificateSignedStatusEnumType": { + "type": "string", + "additionalProperties": false, + "enum": ["Accepted", "Rejected"] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/CertificateSignedStatusEnumType" + } + }, + "required": ["status"] +} diff --git a/src/assets/json-schemas/ocpp/1.6/DeleteCertificate.json b/src/assets/json-schemas/ocpp/1.6/DeleteCertificate.json new file mode 100644 index 00000000..d55782d7 --- /dev/null +++ b/src/assets/json-schemas/ocpp/1.6/DeleteCertificate.json @@ -0,0 +1,41 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "urn:OCPP:Cp:1.6:2020:3:DeleteCertificate.req", + "definitions": { + "HashAlgorithmEnumType": { + "type": "string", + "additionalProperties": false, + "enum": ["SHA256", "SHA384", "SHA512"] + }, + "CertificateHashDataType": { + "type": "object", + "additionalProperties": false, + "properties": { + "hashAlgorithm": { + "$ref": "#/definitions/HashAlgorithmEnumType" + }, + "issuerNameHash": { + "type": "string", + "maxLength": 128 + }, + "issuerKeyHash": { + "type": "string", + "maxLength": 128 + }, + "serialNumber": { + "type": "string", + "maxLength": 40 + } + }, + "required": ["hashAlgorithm", "issuerNameHash", "issuerKeyHash", "serialNumber"] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "certificateHashData": { + "$ref": "#/definitions/CertificateHashDataType" + } + }, + "required": ["certificateHashData"] +} diff --git a/src/assets/json-schemas/ocpp/1.6/DeleteCertificateResponse.json b/src/assets/json-schemas/ocpp/1.6/DeleteCertificateResponse.json new file mode 100644 index 00000000..871bc31f --- /dev/null +++ b/src/assets/json-schemas/ocpp/1.6/DeleteCertificateResponse.json @@ -0,0 +1,19 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "urn:OCPP:Cp:1.6:2020:3:DeleteCertificate.conf", + "definitions": { + "DeleteCertificateStatusEnumType": { + "type": "string", + "additionalProperties": false, + "enum": ["Accepted", "Failed", "NotFound"] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/DeleteCertificateStatusEnumType" + } + }, + "required": ["status"] +} diff --git a/src/assets/json-schemas/ocpp/1.6/ExtendedTriggerMessage.json b/src/assets/json-schemas/ocpp/1.6/ExtendedTriggerMessage.json new file mode 100644 index 00000000..68dad482 --- /dev/null +++ b/src/assets/json-schemas/ocpp/1.6/ExtendedTriggerMessage.json @@ -0,0 +1,30 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "urn:OCPP:Cp:1.6:2020:3:ExtendedTriggerMessage.req", + "definitions": { + "MessageTriggerEnumType": { + "type": "string", + "additionalProperties": false, + "enum": [ + "BootNotification", + "LogStatusNotification", + "FirmwareStatusNotification", + "Heartbeat", + "MeterValues", + "SignChargePointCertificate", + "StatusNotification" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "requestedMessage": { + "$ref": "#/definitions/MessageTriggerEnumType" + }, + "connectorId": { + "type": "integer" + } + }, + "required": ["requestedMessage"] +} diff --git a/src/assets/json-schemas/ocpp/1.6/ExtendedTriggerMessageResponse.json b/src/assets/json-schemas/ocpp/1.6/ExtendedTriggerMessageResponse.json new file mode 100644 index 00000000..c88e049a --- /dev/null +++ b/src/assets/json-schemas/ocpp/1.6/ExtendedTriggerMessageResponse.json @@ -0,0 +1,19 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "urn:OCPP:Cp:1.6:2020:3:ExtendedTriggerMessage.conf", + "definitions": { + "TriggerMessageStatusEnumType": { + "type": "string", + "additionalProperties": false, + "enum": ["Accepted", "Rejected", "NotImplemented"] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/TriggerMessageStatusEnumType" + } + }, + "required": ["status"] +} diff --git a/src/assets/json-schemas/ocpp/1.6/GetInstalledCertificateIds.json b/src/assets/json-schemas/ocpp/1.6/GetInstalledCertificateIds.json new file mode 100644 index 00000000..cf8bfdae --- /dev/null +++ b/src/assets/json-schemas/ocpp/1.6/GetInstalledCertificateIds.json @@ -0,0 +1,19 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "urn:OCPP:Cp:1.6:2020:3:GetInstalledCertificateIds.req", + "definitions": { + "CertificateUseEnumType": { + "type": "string", + "additionalProperties": false, + "enum": ["CentralSystemRootCertificate", "ManufacturerRootCertificate"] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "certificateType": { + "$ref": "#/definitions/CertificateUseEnumType" + } + }, + "required": ["certificateType"] +} diff --git a/src/assets/json-schemas/ocpp/1.6/GetInstalledCertificateIdsResponse.json b/src/assets/json-schemas/ocpp/1.6/GetInstalledCertificateIdsResponse.json new file mode 100644 index 00000000..ff3366af --- /dev/null +++ b/src/assets/json-schemas/ocpp/1.6/GetInstalledCertificateIdsResponse.json @@ -0,0 +1,55 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "urn:OCPP:Cp:1.6:2020:3:GetInstalledCertificateIds.conf", + "definitions": { + "GetInstalledCertificateStatusEnumType": { + "type": "string", + "additionalProperties": false, + "enum": ["Accepted", "NotFound"] + }, + "HashAlgorithmEnumType": { + "type": "string", + "additionalProperties": false, + "enum": ["SHA256", "SHA384", "SHA512"] + }, + "CertificateHashDataType": { + "javaType": "CertificateHashData", + "type": "object", + "additionalProperties": false, + "properties": { + "hashAlgorithm": { + "$ref": "#/definitions/HashAlgorithmEnumType" + }, + "issuerNameHash": { + "type": "string", + "maxLength": 128 + }, + "issuerKeyHash": { + "type": "string", + "maxLength": 128 + }, + "serialNumber": { + "type": "string", + "maxLength": 40 + } + }, + "required": ["hashAlgorithm", "issuerNameHash", "issuerKeyHash", "serialNumber"] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "certificateHashData": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/CertificateHashDataType" + }, + "minItems": 1 + }, + "status": { + "$ref": "#/definitions/GetInstalledCertificateStatusEnumType" + } + }, + "required": ["status"] +} diff --git a/src/assets/json-schemas/ocpp/1.6/GetLog.json b/src/assets/json-schemas/ocpp/1.6/GetLog.json new file mode 100644 index 00000000..3e69fb8f --- /dev/null +++ b/src/assets/json-schemas/ocpp/1.6/GetLog.json @@ -0,0 +1,50 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "urn:OCPP:Cp:1.6:2020:3:GetLog.req", + "definitions": { + "LogEnumType": { + "type": "string", + "additionalProperties": false, + "enum": ["DiagnosticsLog", "SecurityLog"] + }, + "LogParametersType": { + "type": "object", + "additionalProperties": false, + "properties": { + "remoteLocation": { + "type": "string", + "maxLength": 512 + }, + "oldestTimestamp": { + "type": "string", + "format": "date-time" + }, + "latestTimestamp": { + "type": "string", + "format": "date-time" + } + }, + "required": ["remoteLocation"] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "log": { + "$ref": "#/definitions/LogParametersType" + }, + "logType": { + "$ref": "#/definitions/LogEnumType" + }, + "requestId": { + "type": "integer" + }, + "retries": { + "type": "integer" + }, + "retryInterval": { + "type": "integer" + } + }, + "required": ["logType", "requestId", "log"] +} diff --git a/src/assets/json-schemas/ocpp/1.6/GetLogResponse.json b/src/assets/json-schemas/ocpp/1.6/GetLogResponse.json new file mode 100644 index 00000000..50db3d88 --- /dev/null +++ b/src/assets/json-schemas/ocpp/1.6/GetLogResponse.json @@ -0,0 +1,23 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "urn:OCPP:Cp:1.6:2020:3:GetLog.conf", + "definitions": { + "LogStatusEnumType": { + "type": "string", + "additionalProperties": false, + "enum": ["Accepted", "Rejected", "AcceptedCanceled"] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/LogStatusEnumType" + }, + "filename": { + "type": "string", + "maxLength": 255 + } + }, + "required": ["status"] +} diff --git a/src/assets/json-schemas/ocpp/1.6/InstallCertificate.json b/src/assets/json-schemas/ocpp/1.6/InstallCertificate.json new file mode 100644 index 00000000..03944302 --- /dev/null +++ b/src/assets/json-schemas/ocpp/1.6/InstallCertificate.json @@ -0,0 +1,23 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "urn:OCPP:Cp:1.6:2020:3:InstallCertificate.req", + "definitions": { + "CertificateUseEnumType": { + "type": "string", + "additionalProperties": false, + "enum": ["CentralSystemRootCertificate", "ManufacturerRootCertificate"] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "certificateType": { + "$ref": "#/definitions/CertificateUseEnumType" + }, + "certificate": { + "type": "string", + "maxLength": 5500 + } + }, + "required": ["certificateType", "certificate"] +} diff --git a/src/assets/json-schemas/ocpp/1.6/InstallCertificateResponse.json b/src/assets/json-schemas/ocpp/1.6/InstallCertificateResponse.json new file mode 100644 index 00000000..6a66c785 --- /dev/null +++ b/src/assets/json-schemas/ocpp/1.6/InstallCertificateResponse.json @@ -0,0 +1,19 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "urn:OCPP:Cp:1.6:2020:3:InstallCertificate.conf", + "definitions": { + "InstallCertificateStatusEnumType": { + "type": "string", + "additionalProperties": false, + "enum": ["Accepted", "Failed", "Rejected"] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/InstallCertificateStatusEnumType" + } + }, + "required": ["status"] +} diff --git a/src/assets/json-schemas/ocpp/1.6/LogStatusNotification.json b/src/assets/json-schemas/ocpp/1.6/LogStatusNotification.json new file mode 100644 index 00000000..d68eeae2 --- /dev/null +++ b/src/assets/json-schemas/ocpp/1.6/LogStatusNotification.json @@ -0,0 +1,30 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "urn:OCPP:Cp:1.6:2020:3:LogStatusNotification.req", + "definitions": { + "UploadLogStatusEnumType": { + "type": "string", + "additionalProperties": false, + "enum": [ + "BadMessage", + "Idle", + "NotSupportedOperation", + "PermissionDenied", + "Uploaded", + "UploadFailure", + "Uploading" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/UploadLogStatusEnumType" + }, + "requestId": { + "type": "integer" + } + }, + "required": ["status"] +} diff --git a/src/assets/json-schemas/ocpp/1.6/LogStatusNotificationResponse.json b/src/assets/json-schemas/ocpp/1.6/LogStatusNotificationResponse.json new file mode 100644 index 00000000..80415b83 --- /dev/null +++ b/src/assets/json-schemas/ocpp/1.6/LogStatusNotificationResponse.json @@ -0,0 +1,6 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "urn:OCPP:Cp:1.6:2020:3:LogStatusNotification.conf", + "type": "object", + "additionalProperties": false +} diff --git a/src/assets/json-schemas/ocpp/1.6/SecurityEventNotification.json b/src/assets/json-schemas/ocpp/1.6/SecurityEventNotification.json new file mode 100644 index 00000000..9f3dc815 --- /dev/null +++ b/src/assets/json-schemas/ocpp/1.6/SecurityEventNotification.json @@ -0,0 +1,21 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "urn:OCPP:Cp:1.6:2020:3:SecurityEventNotification.req", + "type": "object", + "additionalProperties": false, + "properties": { + "type": { + "type": "string", + "maxLength": 50 + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "techInfo": { + "type": "string", + "maxLength": 255 + } + }, + "required": ["type", "timestamp"] +} diff --git a/src/assets/json-schemas/ocpp/1.6/SecurityEventNotificationResponse.json b/src/assets/json-schemas/ocpp/1.6/SecurityEventNotificationResponse.json new file mode 100644 index 00000000..da70c930 --- /dev/null +++ b/src/assets/json-schemas/ocpp/1.6/SecurityEventNotificationResponse.json @@ -0,0 +1,6 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "urn:OCPP:Cp:1.6:2020:3:SecurityEventNotification.conf", + "type": "object", + "additionalProperties": false +} diff --git a/src/assets/json-schemas/ocpp/1.6/SignCertificate.json b/src/assets/json-schemas/ocpp/1.6/SignCertificate.json new file mode 100644 index 00000000..797e8e10 --- /dev/null +++ b/src/assets/json-schemas/ocpp/1.6/SignCertificate.json @@ -0,0 +1,13 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "urn:OCPP:Cp:1.6:2020:3:SignCertificate.req", + "type": "object", + "additionalProperties": false, + "properties": { + "csr": { + "type": "string", + "maxLength": 5500 + } + }, + "required": ["csr"] +} diff --git a/src/assets/json-schemas/ocpp/1.6/SignCertificateResponse.json b/src/assets/json-schemas/ocpp/1.6/SignCertificateResponse.json new file mode 100644 index 00000000..c82f12bd --- /dev/null +++ b/src/assets/json-schemas/ocpp/1.6/SignCertificateResponse.json @@ -0,0 +1,19 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "urn:OCPP:Cp:1.6:2020:3:SignCertificate.conf", + "definitions": { + "GenericStatusEnumType": { + "type": "string", + "additionalProperties": false, + "enum": ["Accepted", "Rejected"] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/GenericStatusEnumType" + } + }, + "required": ["status"] +} diff --git a/src/assets/json-schemas/ocpp/1.6/SignedFirmwareStatusNotification.json b/src/assets/json-schemas/ocpp/1.6/SignedFirmwareStatusNotification.json new file mode 100644 index 00000000..69805b42 --- /dev/null +++ b/src/assets/json-schemas/ocpp/1.6/SignedFirmwareStatusNotification.json @@ -0,0 +1,37 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "urn:OCPP:Cp:1.6:2020:3:SignedFirmwareStatusNotification.req", + "definitions": { + "FirmwareStatusEnumType": { + "type": "string", + "additionalProperties": false, + "enum": [ + "Downloaded", + "DownloadFailed", + "Downloading", + "DownloadScheduled", + "DownloadPaused", + "Idle", + "InstallationFailed", + "Installing", + "Installed", + "InstallRebooting", + "InstallScheduled", + "InstallVerificationFailed", + "InvalidSignature", + "SignatureVerified" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/FirmwareStatusEnumType" + }, + "requestId": { + "type": "integer" + } + }, + "required": ["status"] +} diff --git a/src/assets/json-schemas/ocpp/1.6/SignedFirmwareStatusNotificationResponse.json b/src/assets/json-schemas/ocpp/1.6/SignedFirmwareStatusNotificationResponse.json new file mode 100644 index 00000000..61e7c0a2 --- /dev/null +++ b/src/assets/json-schemas/ocpp/1.6/SignedFirmwareStatusNotificationResponse.json @@ -0,0 +1,6 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "urn:OCPP:Cp:1.6:2020:3:SignedFirmwareStatusNotification.conf", + "type": "object", + "additionalProperties": false +} diff --git a/src/assets/json-schemas/ocpp/1.6/SignedUpdateFirmware.json b/src/assets/json-schemas/ocpp/1.6/SignedUpdateFirmware.json new file mode 100644 index 00000000..bd67367a --- /dev/null +++ b/src/assets/json-schemas/ocpp/1.6/SignedUpdateFirmware.json @@ -0,0 +1,50 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "urn:OCPP:Cp:1.6:2020:3:SignedUpdateFirmware.req", + "definitions": { + "FirmwareType": { + "type": "object", + "additionalProperties": false, + "properties": { + "location": { + "type": "string", + "maxLength": 512 + }, + "retrieveDateTime": { + "type": "string", + "format": "date-time" + }, + "installDateTime": { + "type": "string", + "format": "date-time" + }, + "signingCertificate": { + "type": "string", + "maxLength": 5500 + }, + "signature": { + "type": "string", + "maxLength": 800 + } + }, + "required": ["location", "retrieveDateTime", "signingCertificate", "signature"] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "retries": { + "type": "integer" + }, + "retryInterval": { + "type": "integer" + }, + "requestId": { + "type": "integer" + }, + "firmware": { + "$ref": "#/definitions/FirmwareType" + } + }, + "required": ["requestId", "firmware"] +} diff --git a/src/assets/json-schemas/ocpp/1.6/SignedUpdateFirmwareResponse.json b/src/assets/json-schemas/ocpp/1.6/SignedUpdateFirmwareResponse.json new file mode 100644 index 00000000..2de4877d --- /dev/null +++ b/src/assets/json-schemas/ocpp/1.6/SignedUpdateFirmwareResponse.json @@ -0,0 +1,25 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "urn:OCPP:Cp:1.6:2020:3:SignedUpdateFirmware.conf", + "definitions": { + "UpdateFirmwareStatusEnumType": { + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected", + "AcceptedCanceled", + "InvalidCertificate", + "RevokedCertificate" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/UpdateFirmwareStatusEnumType" + } + }, + "required": ["status"] +}