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