1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "components/policy/core/common/cloud/cloud_policy_constants.h"
6 
7 #include <stdint.h>
8 
9 #include "base/command_line.h"
10 #include "build/build_config.h"
11 #include "components/policy/core/common/policy_switches.h"
12 
13 namespace policy {
14 
15 // Constants related to the device management protocol.
16 namespace dm_protocol {
17 
18 // Name constants for URL query parameters.
19 const char kParamAgent[] = "agent";
20 const char kParamAppType[] = "apptype";
21 const char kParamCritical[] = "critical";
22 const char kParamDeviceID[] = "deviceid";
23 const char kParamDeviceType[] = "devicetype";
24 const char kParamLastError[] = "lasterror";
25 const char kParamOAuthToken[] = "oauth_token";
26 const char kParamPlatform[] = "platform";
27 const char kParamRequest[] = "request";
28 const char kParamRetry[] = "retry";
29 
30 // Policy constants used in authorization header.
31 const char kAuthHeader[] = "Authorization";
32 const char kServiceTokenAuthHeaderPrefix[] = "GoogleLogin auth=";
33 const char kDMTokenAuthHeaderPrefix[] = "GoogleDMToken token=";
34 const char kEnrollmentTokenAuthHeaderPrefix[] = "GoogleEnrollmentToken token=";
35 
36 // String constants for the device and app type we report to the server.
37 const char kValueAppType[] = "Chrome";
38 const char kValueDeviceType[] = "2";
39 const char kValueRequestAutoEnrollment[] = "enterprise_check";
40 const char kValueRequestPsmHasDeviceState[] = "enterprise_psm_check";
41 const char kValueRequestPolicy[] = "policy";
42 const char kValueRequestRegister[] = "register";
43 const char kValueRequestApiAuthorization[] = "api_authorization";
44 const char kValueRequestUnregister[] = "unregister";
45 const char kValueRequestUploadCertificate[] = "cert_upload";
46 const char kValueRequestDeviceStateRetrieval[] = "device_state_retrieval";
47 const char kValueRequestUploadStatus[] = "status_upload";
48 const char kValueRequestRemoteCommands[] = "remote_commands";
49 const char kValueRequestDeviceAttributeUpdatePermission[] =
50     "device_attribute_update_permission";
51 const char kValueRequestDeviceAttributeUpdate[] = "device_attribute_update";
52 const char kValueRequestGcmIdUpdate[] = "gcm_id_update";
53 const char kValueRequestCheckAndroidManagement[] = "check_android_management";
54 const char kValueRequestCertBasedRegister[] = "certificate_based_register";
55 const char kValueRequestActiveDirectoryEnrollPlayUser[] =
56     "active_directory_enroll_play_user";
57 const char kValueRequestActiveDirectoryPlayActivity[] =
58     "active_directory_play_activity";
59 const char kValueRequestAppInstallReport[] = "app_install_report";
60 const char kValueRequestTokenEnrollment[] = "register_browser";
61 const char kValueRequestChromeDesktopReport[] = "chrome_desktop_report";
62 const char kValueRequestChromeOsUserReport[] = "chrome_os_user_report";
63 const char kValueRequestInitialEnrollmentStateRetrieval[] =
64     "device_initial_enrollment_state";
65 const char kValueRequestUploadPolicyValidationReport[] =
66     "policy_validation_report";
67 const char kValueRequestPublicSamlUser[] = "public_saml_user_request";
68 const char kValueRequestCertProvisioningRequest[] = "client_cert_provisioning";
69 
70 const char kChromeDevicePolicyType[] = "google/chromeos/device";
71 #if defined(OS_CHROMEOS)
72 const char kChromeUserPolicyType[] = "google/chromeos/user";
73 #elif defined(OS_ANDROID)
74 const char kChromeUserPolicyType[] = "google/android/user";
75 #elif defined(OS_IOS)
76 const char kChromeUserPolicyType[] = "google/ios/user";
77 #else
78 const char kChromeUserPolicyType[] = "google/chrome/user";
79 #endif
80 const char kChromePublicAccountPolicyType[] = "google/chromeos/publicaccount";
81 const char kChromeExtensionPolicyType[] = "google/chrome/extension";
82 const char kChromeSigninExtensionPolicyType[] =
83     "google/chromeos/signinextension";
84 const char kChromeMachineLevelUserCloudPolicyType[] =
85     "google/chrome/machine-level-user";
86 const char kChromeMachineLevelUserCloudPolicyIOSType[] =
87     "google/chrome/machine-level-user-ios";
88 const char kChromeMachineLevelExtensionCloudPolicyType[] =
89     "google/chrome/machine-level-extension";
90 const char kChromeRemoteCommandPolicyType[] = "google/chromeos/remotecommand";
91 
92 const char kChromeMachineLevelUserCloudPolicyTypeBase64[] =
93     "Z29vZ2xlL2Nocm9tZS9tYWNoaW5lLWxldmVsLXVzZXI=";
94 
95 }  // namespace dm_protocol
96 
97 const uint8_t kPolicyVerificationKey[] = {
98     0x30, 0x82, 0x01, 0x22, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86,
99     0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0F, 0x00,
100     0x30, 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xA7, 0xB3, 0xF9,
101     0x0D, 0xC7, 0xC7, 0x8D, 0x84, 0x3D, 0x4B, 0x80, 0xDD, 0x9A, 0x2F, 0xF8,
102     0x69, 0xD4, 0xD1, 0x14, 0x5A, 0xCA, 0x04, 0x4B, 0x1C, 0xBC, 0x28, 0xEB,
103     0x5E, 0x10, 0x01, 0x36, 0xFD, 0x81, 0xEB, 0xE4, 0x3C, 0x16, 0x40, 0xA5,
104     0x8A, 0xE6, 0x08, 0xEE, 0xEF, 0x39, 0x1F, 0x6B, 0x10, 0x29, 0x50, 0x84,
105     0xCE, 0xEE, 0x33, 0x5C, 0x48, 0x4A, 0x33, 0xB0, 0xC8, 0x8A, 0x66, 0x0D,
106     0x10, 0x11, 0x9D, 0x6B, 0x55, 0x4C, 0x9A, 0x62, 0x40, 0x9A, 0xE2, 0xCA,
107     0x21, 0x01, 0x1F, 0x10, 0x1E, 0x7B, 0xC6, 0x89, 0x94, 0xDA, 0x39, 0x69,
108     0xBE, 0x27, 0x28, 0x50, 0x5E, 0xA2, 0x55, 0xB9, 0x12, 0x3C, 0x79, 0x6E,
109     0xDF, 0x24, 0xBF, 0x34, 0x88, 0xF2, 0x5E, 0xD0, 0xC4, 0x06, 0xEE, 0x95,
110     0x6D, 0xC2, 0x14, 0xBF, 0x51, 0x7E, 0x3F, 0x55, 0x10, 0x85, 0xCE, 0x33,
111     0x8F, 0x02, 0x87, 0xFC, 0xD2, 0xDD, 0x42, 0xAF, 0x59, 0xBB, 0x69, 0x3D,
112     0xBC, 0x77, 0x4B, 0x3F, 0xC7, 0x22, 0x0D, 0x5F, 0x72, 0xC7, 0x36, 0xB6,
113     0x98, 0x3D, 0x03, 0xCD, 0x2F, 0x68, 0x61, 0xEE, 0xF4, 0x5A, 0xF5, 0x07,
114     0xAE, 0xAE, 0x79, 0xD1, 0x1A, 0xB2, 0x38, 0xE0, 0xAB, 0x60, 0x5C, 0x0C,
115     0x14, 0xFE, 0x44, 0x67, 0x2C, 0x8A, 0x08, 0x51, 0x9C, 0xCD, 0x3D, 0xDB,
116     0x13, 0x04, 0x57, 0xC5, 0x85, 0xB6, 0x2A, 0x0F, 0x02, 0x46, 0x0D, 0x2D,
117     0xCA, 0xE3, 0x3F, 0x84, 0x9E, 0x8B, 0x8A, 0x5F, 0xFC, 0x4D, 0xAA, 0xBE,
118     0xBD, 0xE6, 0x64, 0x9F, 0x26, 0x9A, 0x2B, 0x97, 0x69, 0xA9, 0xBA, 0x0B,
119     0xBD, 0x48, 0xE4, 0x81, 0x6B, 0xD4, 0x4B, 0x78, 0xE6, 0xAF, 0x95, 0x66,
120     0xC1, 0x23, 0xDA, 0x23, 0x45, 0x36, 0x6E, 0x25, 0xF3, 0xC7, 0xC0, 0x61,
121     0xFC, 0xEC, 0x66, 0x9D, 0x31, 0xD4, 0xD6, 0xB6, 0x36, 0xE3, 0x7F, 0x81,
122     0x87, 0x02, 0x03, 0x01, 0x00, 0x01};
123 
124 const char kPolicyVerificationKeyHash[] = "1:356l7w";
125 
126 const char kDemoModeDomain[] = "cros-demo-mode.com";
127 
GetPolicyVerificationKey()128 std::string GetPolicyVerificationKey() {
129   return std::string(reinterpret_cast<const char*>(kPolicyVerificationKey),
130                      sizeof(kPolicyVerificationKey));
131 }
132 
133 const char kPolicyFCMInvalidationSenderID[] = "1013309121859";
134 
135 }  // namespace policy
136