3.1.5.1.1.1 Request Body

The request body contains the following JSON-formatted object.

 {
     "description": "object",
     "type": "object",
     "properties": {
         "CertificateRequest": {
             "type": "object",
             "optional" : false,
             "properties": {
                 "Type": { "type": "string", "optional": false },
                 "Data": { "type": "string", "optional": false }
             }
         },
         "TransportKey": { "type": "string", "optional": false },
         "TargetDomain": { "type": "string", "optional": false },
         "DeviceType": { "type": "string", "optional": false },
         "OSVersion": { "type": "string", "optional": false },
         "DeviceDisplayName": { "type": "string", "optional": false },
         "JoinType": { "type": "number", "optional": false }
     }
 }

CertificateRequest: A property with the following fields:

Type: A property that MUST contain "pkcs10".

Data: A property that contains a base64-encoded PKCS#10 certificate request [RFC4211]. The certificate request MUST use an RSA public key algorithm [RFC8017] with a 2048-bit key, a SHA256WithRSAEncryption signature algorithm, and a SHA256 hash algorithm.

TransportKey: The base64-encoded public portion of an asymmetric key that is generated by the client.

TargetDomain: The fully qualified host name of the device registration service.

DeviceType: The operating system type installed on the device.

OSVersion: The operating system version installed on the device.

DeviceDisplayName: The friendly name of the device.

JoinType: The type of join operation. The value MUST be set to 6.