Chromium Code Reviews| Index: components/policy/proto/device_management_backend.proto |
| diff --git a/components/policy/proto/device_management_backend.proto b/components/policy/proto/device_management_backend.proto |
| index 2a4bab38d33eda3f90942b71f4a334876f0167a6..80a6268b795e679837b20a58a741f5a1a5378f85 100644 |
| --- a/components/policy/proto/device_management_backend.proto |
| +++ b/components/policy/proto/device_management_backend.proto |
| @@ -8,14 +8,15 @@ option optimize_for = LITE_RUNTIME; |
| package enterprise_management; |
| -// The wrapper message of any data and its signature. |
| -// Note: this should be compatible with the definition of SignedData in: |
| -// "third_party/chromiumos_platform_cryptohome/attestation.proto" |
| +// Data along with a cryptographic signature verifying their authenticity. |
| message SignedData { |
| // The data to be signed. |
| optional bytes data = 1; |
| // The signature of the data field. |
| optional bytes signature = 2; |
| + // How many bytes were added to the end of original data before signature |
| + // (e.g. a nonce to avoid proxy attacks of the signing service). |
|
pastarmovj
2016/08/22 15:09:43
out of curiosity, can you explain this comment to
The one and only Dr. Crash
2016/08/22 16:00:02
The signing code adds a nonce at the end of the da
|
| + optional int32 extra_data_bytes = 3; |
| } |
| // Request from device to server to register device. |
| @@ -1088,10 +1089,12 @@ message CheckAndroidManagementResponse {} |
| // certificate). |
| // The response message will be the DeviceRegisterReponse. |
| message CertificateBasedDeviceRegisterRequest { |
| - // signed_request.data is CertificateBasedDeviceRegistrationData type |
| - // signed_request.signature is a signature generated with device cert's |
| - // private key |
| - optional SignedData signed_request = 2; |
| + // Signed request to register with a certificate. The signed_request.data |
| + // field contains a CertificateBasedDeviceRegistrationData with a nonce |
| + // (as added by the Chrome OS cryptohome client) appended. The |
| + // signed_request.signature field is a signature of the data field signed |
| + // with the enrollment certificate's private key. |
| + optional SignedData signed_request = 1; |
| } |
| message CertificateBasedDeviceRegistrationData { |
| @@ -1137,6 +1140,7 @@ message CertificateBasedDeviceRegistrationData { |
| // * attribute_update |
| // * gcm_id_update |
| // * check_android_management |
| +// * certificate_based_register |
| // |
| // * devicetype: MUST BE "1" for Android or "2" for Chrome OS. |
| // * apptype: MUST BE Android or Chrome. |
| @@ -1150,9 +1154,10 @@ message CertificateBasedDeviceRegistrationData { |
| // and gcm id update requests |
| // Authorization: GoogleDMToken token=<dm token from register> |
| // |
| -// * The Authorization header isn't used for enterprise_check |
| -// request, nor for register requests using OAuth. In the latter case, |
| -// the OAuth token is passed in the "oauth" parameter. |
| +// * The Authorization header isn't used for enterprise_check or for |
| +// certificate_based_register requests, nor for register requests |
| +// using OAuth. In the latter case, the OAuth token is passed in the |
| +// "oauth" parameter. |
| // |
| // DeviceManagementRequest should only contain one request which matches the |
| // HTTP query parameter - request, as listed below. Other requests within the |
| @@ -1172,6 +1177,7 @@ message CertificateBasedDeviceRegistrationData { |
| // attribute_update: device_attribute_update_request |
| // gcm_id_update: gcm_id_update_request |
| // check_android_management: check_android_management_request |
| +// certificate_based_register: cert_based_register_request |
| // |
| message DeviceManagementRequest { |
| // Register request. |
| @@ -1224,6 +1230,11 @@ message DeviceManagementRequest { |
| // Check if user is a managed Android-for-Work user with DPC enforcement. |
| optional CheckAndroidManagementRequest check_android_management_request = 17; |
| + |
| + // Request to register with a registration certificate. |
| + optional CertificateBasedDeviceRegisterRequest |
| + cert_based_register_request = 18; |
| + |
| } |
| // Response from server to device. |