E2EESetupRequest1

data class E2EESetupRequest1(val eDeviceKey: CoseKey, val deviceNonce: ByteArray, val signature: EcSignature, val deviceAssertion: DeviceAssertion, val serverState: ByteArray) : CloudSecureAreaProtocol.Command

This is sent by the device in response to the E2EESetupResponse0:

E2EESetupRequest1 = {
"E2EESetupRequest1",
"eDeviceKey" : COSE_Key,
"deviceNonce" : bstr
"signature" : EcSignature
"serverState" : bstr
}

where eDeviceKey, deviceNonce, signature, and serverState are all described in the E2EESetupResponse0 message.

Upon receiving this message the server builds up DataSignedByDevice and checks the signature was made by DeviceBindingKey (as received during registration phase). If this fails, the server shall return HTTP status code 403 (Forbidden).

If the check is successful, the server creates ECloudKey which shall be a EC key using curve P-256. The server then uses CloudBindingKey (created at registration time) to create an ECDSA signature over the bytes of the CBOR

DataSignedByServer = [
COSE_Key, ; ECloudKey.pub
bstr, ; cloudNonce
bstr ; deviceNonce
]

The server proceeds to prepare a E2EESetupResponse1 message.

Constructors

Link copied to clipboard
constructor(eDeviceKey: CoseKey, deviceNonce: ByteArray, signature: EcSignature, deviceAssertion: DeviceAssertion, serverState: ByteArray)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard