| 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 |