Download OpenAPI specification:
CPS services API.
This interface signs contract data in the CPS and sends it back to the eMSP. By using the Parameter PCID the Signed Contract Data are getting stored in the Contract Certificate Pool.
OPNC-from-party-type | string Enum: "emsp" "cpo" "oem" "pki" "cps" "pcp" "ccp" Specifies the type of party that originated this request |
OPNC-from-party-id | string Specifies the ID of the party that originated this request. The ID format depends on the type of the party (WMI for OEM, ProviderID for EMSP, OperatorID for CPO, SHA-256 fingerprint of Root CA for PKI or CPS) |
OPNC-to-party-type | string Enum: "emsp" "cpo" "oem" "pki" "cps" "pcp" "ccp" Specifies the type of party to which this request should be addressed. |
OPNC-to-party-id | string Specifies the party ID to which this request should be addressed. The ID format depends on the type of the party (WMI for OEM, ProviderID for EMSP, OperatorID for CPO, SHA-256 fingerprint of Root CA for PKI or CPS..) |
required | object (contractCertificateBundleV1) Contract certificate bundle consisting of the contract certificate and its chain not including the eMSP Root CA itself. Furthermore the encrypted contract private key and the DH Public Key as descirbed in the ISO 15118 is included |
xsdMsgDefNamespace required | string (xsdMsgDefNamespaceParamV1) Default: "urn:iso:15118:2:2013:MsgDef" Enum: "urn:iso:15118:2:2013:MsgDef" "urn:iso:15118:20:2020:MsgDef" ISO15118 Version |
cpsV2GRootCertificateFingerprint | string (cpsV2GRootCertificateFingerprintParamV1) ^[0-9a-fA-F]{64}$ The SHA256 Fingerprint of the desired V2G root CA which shall was used to sign these data with the regarding CPS signing certificate. Its optional. If not given, the CPS will decide which CPS signing V2G PKI will be renurned |
{- "contractCertificateBundle": {
- "pcid": "stringstringstrin",
- "emaid": "stringstringst",
- "contractCertificateChain": {
- "certificate": "string",
- "subCa1Certificate": "string",
- "subCa2Certificate": "string"
}, - "contractSignatureEncryptedPrivateKey": "string",
- "dHpublickey": "string"
}, - "xsdMsgDefNamespace": "urn:iso:15118:2:2013:MsgDef",
- "cpsV2GRootCertificateFingerprint": "311f28ff13da6d75f836ac10644b34273da99564c600a191fb3737d50562a4f1"
}
{- "signedContractData": {
- "certificateInstallationRes": "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",
- "emaid": "stringstringst",
- "pcid": "stringstringstrin",
- "xsdMsgDefNamespace": "urn:iso:15118:2:2013:MsgDef",
- "metaData": "string",
- "cpsV2GRootCertificateFingerprint": "311f28ff13da6d75f836ac10644b34273da99564c600a191fb3737d50562a4f1",
- "cpsRootDistinguishedName": "CN=V2G Root CA G2, DC=V2G, O=Hubject GmbH, C=DE"
}
}
This service creates and signs contractData for provided contract information. The contract certificate will be signed by the eMSP SUB CA2 which is derived from the V2G Root CA
The created and signed contractData is stored in the contract certificate pool for provisioning to the OEM- and CPO-backend.
To update a contractData, the interface must be called again with the same PCID and EMAID. The system will replace the old contractData with the new one.
OPNC-from-party-type | string Enum: "emsp" "cpo" "oem" "pki" "cps" "pcp" "ccp" Specifies the type of party that originated this request |
OPNC-from-party-id | string Specifies the ID of the party that originated this request. The ID format depends on the type of the party (WMI for OEM, ProviderID for EMSP, OperatorID for CPO, SHA-256 fingerprint of Root CA for PKI or CPS) |
OPNC-to-party-type | string Enum: "emsp" "cpo" "oem" "pki" "cps" "pcp" "ccp" Specifies the type of party to which this request should be addressed. |
OPNC-to-party-id | string Specifies the party ID to which this request should be addressed. The ID format depends on the type of the party (WMI for OEM, ProviderID for EMSP, OperatorID for CPO, SHA-256 fingerprint of Root CA for PKI or CPS..) |
contractBegins required | string Timestamp the contract will begin at. |
contractEnds required | string Timestamp until the contract is active. |
emaid required | string (emaidParamV1) [ 14 .. 36 ] characters ^[A-Za-z]{2}[-]?\w{3}[-]?\w{9,28}[-]?(\w{1})?... E-Mobility Authentication Identifier (Note: separators will be normalized by the system due to ISO restrictions) |
pcid required | string (pcidParamV1) [ 17 .. 18 ] characters ^[a-zA-Z0-9]{17,18}$ |
xsdMsgDefNamespace required | string (xsdMsgDefNamespaceParamV1) Default: "urn:iso:15118:2:2013:MsgDef" Enum: "urn:iso:15118:2:2013:MsgDef" "urn:iso:15118:20:2020:MsgDef" ISO15118 Version |
subscriptionUrl | string^(https?|http)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]... URL which could be given by eMSP to allow extended information exchange for a given contract |
cpsV2GRootCertificateFingerprint | string (cpsV2GRootCertificateFingerprintParamV1) ^[0-9a-fA-F]{64}$ The SHA256 Fingerprint of the desired V2G root CA which shall was used to sign these data with the regarding CPS signing certificate. Its optional. If not given, the CPS will decide which CPS signing V2G PKI will be renurned |
moRootCertificateFingerprint | string (emspRootCertificateFingerprintParamV1) ^[0-9a-fA-F]{64}$ The SHA256 Fingerprint of the desired eMSP root CA from which the CC will derive. It is optional. If not given, the PKI service operator will decide from which eMSP Root CA the issued CC will derive |
metaData | string Placeholder for future adaption |
{- "contractBegins": "string",
- "contractEnds": "string",
- "emaid": "stringstringst",
- "pcid": "stringstringstrin",
- "xsdMsgDefNamespace": "urn:iso:15118:2:2013:MsgDef",
- "cpsV2GRootCertificateFingerprint": "311f28ff13da6d75f836ac10644b34273da99564c600a191fb3737d50562a4f1",
- "moRootCertificateFingerprint": "311f28ff13da6d75f836ac10644b34273da99564c600a191fb3737d50562a4f1",
- "metaData": "string"
}
{- "errorMessages": [
- "Invalid Tupple - EMAID is already used by other PCID."
], - "traceId": "3e002e2a-580b-48e4-88a5-6b782cae636b"
}
Get CPS certificates incl. certificate chain.
OPNC-from-party-type | string Enum: "emsp" "cpo" "oem" "pki" "cps" "pcp" "ccp" Specifies the type of party that originated this request |
OPNC-from-party-id | string Specifies the ID of the party that originated this request. The ID format depends on the type of the party (WMI for OEM, ProviderID for EMSP, OperatorID for CPO, SHA-256 fingerprint of Root CA for PKI or CPS) |
OPNC-to-party-type | string Enum: "emsp" "cpo" "oem" "pki" "cps" "pcp" "ccp" Specifies the type of party to which this request should be addressed. |
OPNC-to-party-id | string Specifies the party ID to which this request should be addressed. The ID format depends on the type of the party (WMI for OEM, ProviderID for EMSP, OperatorID for CPO, SHA-256 fingerprint of Root CA for PKI or CPS..) |
{- "cpsCertificateDataCollection": [
- {
- "cpsDistinguishedName": "DC=CPS,CN=CPS 2022.2 QA,O=Hubject GmbH,C=EU",
- "cpsCertificateChain": {
- "certificate": "string",
- "subCa1Certificate": "string",
- "subCa2Certificate": "string"
}, - "validFrom": "2022-02-08T21:59:59Z",
- "validTo": "2022-02-08T21:59:59Z",
- "organizationName": "Hubject GmbH",
- "cpsV2GRootCertificateFingerprint": "311f28ff13da6d75f836ac10644b34273da99564c600a191fb3737d50562a4f1",
- "cpsV2GRootDistinguishedName": "CN=V2G Root CA G2, DC=V2G, O=Hubject GmbH, C=DE",
- "xsdMsgDefNamespace": "urn:iso:15118:2:2013:MsgDef"
}
]
}