OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROMEOS_ATTESTATION_ATTESTATION_CONSTANTS_H_ | 5 #ifndef CHROMEOS_ATTESTATION_ATTESTATION_CONSTANTS_H_ |
6 #define CHROMEOS_ATTESTATION_ATTESTATION_CONSTANTS_H_ | 6 #define CHROMEOS_ATTESTATION_ATTESTATION_CONSTANTS_H_ |
7 | 7 |
8 #include "chromeos/chromeos_export.h" | 8 #include "chromeos/chromeos_export.h" |
9 | 9 |
10 namespace chromeos { | 10 namespace chromeos { |
11 namespace attestation { | 11 namespace attestation { |
12 | 12 |
13 // Options available for customizing an attestation certificate. | |
14 enum AttestationCertificateOptions { | |
15 CERTIFICATE_OPTION_NONE = 0, | |
16 // A stable identifier is simply an identifier that is not affected by device | |
17 // state changes, including device recovery. | |
18 CERTIFICATE_INCLUDE_STABLE_ID = 1, | |
19 // Device state information contains a quoted assertion of whether the device | |
20 // is in verified mode. | |
21 CERTIFICATE_INCLUDE_DEVICE_STATE = 1 << 1, | |
22 }; | |
23 | |
24 // Key types supported by the Chrome OS attestation subsystem. | 13 // Key types supported by the Chrome OS attestation subsystem. |
25 enum AttestationKeyType { | 14 enum AttestationKeyType { |
26 // The key will be associated with the device itself and will be available | 15 // The key will be associated with the device itself and will be available |
27 // regardless of which user is signed-in. | 16 // regardless of which user is signed-in. |
28 KEY_DEVICE, | 17 KEY_DEVICE, |
29 // The key will be associated with the current user and will only be available | 18 // The key will be associated with the current user and will only be available |
30 // when that user is signed-in. | 19 // when that user is signed-in. |
31 KEY_USER, | 20 KEY_USER, |
32 }; | 21 }; |
33 | 22 |
34 // Options available for customizing an attestation challenge response. | 23 // Options available for customizing an attestation challenge response. |
35 enum AttestationChallengeOptions { | 24 enum AttestationChallengeOptions { |
36 CHALLENGE_OPTION_NONE = 0, | 25 CHALLENGE_OPTION_NONE = 0, |
37 // Indicates that a SignedPublicKeyAndChallenge should be embedded in the | 26 // Indicates that a SignedPublicKeyAndChallenge should be embedded in the |
38 // challenge response. | 27 // challenge response. |
39 CHALLENGE_INCLUDE_SIGNED_PUBLIC_KEY = 1, | 28 CHALLENGE_INCLUDE_SIGNED_PUBLIC_KEY = 1, |
40 }; | 29 }; |
41 | 30 |
42 // Available attestation certificate profiles. | 31 // Available attestation certificate profiles. |
43 enum AttestationCertificateProfile { | 32 enum AttestationCertificateProfile { |
44 // Uses the following certificate options: | 33 // Uses the following certificate options: |
45 // CERTIFICATE_INCLUDE_STABLE_ID | 34 // CERTIFICATE_INCLUDE_STABLE_ID |
46 // CERTIFICATE_INCLUDE_DEVICE_STATE | 35 // CERTIFICATE_INCLUDE_DEVICE_STATE |
47 PROFILE_ENTERPRISE_MACHINE_CERTIFICATE, | 36 PROFILE_ENTERPRISE_MACHINE_CERTIFICATE, |
48 // Uses the following certificate options: | 37 // Uses the following certificate options: |
49 // CERTIFICATE_INCLUDE_DEVICE_STATE | 38 // CERTIFICATE_INCLUDE_DEVICE_STATE |
50 PROFILE_ENTERPRISE_USER_CERTIFICATE, | 39 PROFILE_ENTERPRISE_USER_CERTIFICATE, |
| 40 // A profile for certificates intended for protected content providers. |
| 41 PROFILE_CONTENT_PROTECTION_CERTIFICATE, |
51 }; | 42 }; |
52 | 43 |
53 // A key name for the Enterprise Machine Key. This key should always be stored | 44 // A key name for the Enterprise Machine Key. This key should always be stored |
54 // as a DEVICE_KEY. | 45 // as a DEVICE_KEY. |
55 CHROMEOS_EXPORT extern const char kEnterpriseMachineKey[]; | 46 CHROMEOS_EXPORT extern const char kEnterpriseMachineKey[]; |
56 | 47 |
57 // A key name for the Enterprise User Key. This key should always be stored as | 48 // A key name for the Enterprise User Key. This key should always be stored as |
58 // a USER_KEY. | 49 // a USER_KEY. |
59 CHROMEOS_EXPORT extern const char kEnterpriseUserKey[]; | 50 CHROMEOS_EXPORT extern const char kEnterpriseUserKey[]; |
60 | 51 |
| 52 // The key name prefix for content protection keys. This prefix must be |
| 53 // appended with an origin-specific identifier to form the final key name. |
| 54 CHROMEOS_EXPORT extern const char kContentProtectionKeyPrefix[]; |
| 55 |
61 } // namespace attestation | 56 } // namespace attestation |
62 } // namespace chromeos | 57 } // namespace chromeos |
63 | 58 |
64 #endif // CHROMEOS_ATTESTATION_ATTESTATION_CONSTANTS_H_ | 59 #endif // CHROMEOS_ATTESTATION_ATTESTATION_CONSTANTS_H_ |
OLD | NEW |