// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROMEOS_ASH_SERVICES_DEVICE_SYNC_CRYPTAUTH_ENROLLMENT_CONSTANTS_H_
#define CHROMEOS_ASH_SERVICES_DEVICE_SYNC_CRYPTAUTH_ENROLLMENT_CONSTANTS_H_
namespace ash {
namespace device_sync {
// The special strings used in SyncSingleKeyRequest::key_name. These strings are
// not arbitrary; CryptAuth must be able to identify these names.
extern const char kCryptAuthUserKeyPairName[];
extern const char kCryptAuthLegacyAuthzenKeyName[];
extern const char kCryptAuthDeviceSyncBetterTogetherKeyName[];
// CryptAuth demands that the kUserKeyPair key bundle have a lone key with this
// handle for backward compatibility reasons.
extern const char kCryptAuthFixedUserKeyPairHandle[];
// The salt used in HKDF to derive symmetric keys from Diffie-Hellman handshake.
// This value is part of the CryptAuth v2 Enrollment specifications.
extern const char kCryptAuthSymmetricKeyDerivationSalt[];
// The salt used in HKDF for symmetric key proofs. Also, for asymmetric key
// proofs, the salt is prepended to the payload before being signed by the
// private key. This value is part of the CryptAuth v2 Enrollment
// specifications.
extern const char kCryptAuthKeyProofSalt[];
// The client version sent to CryptAuth in the SyncKeysRequest.
extern const char kCryptAuthClientVersion[];
} // namespace device_sync
} // namespace ash
#endif // CHROMEOS_ASH_SERVICES_DEVICE_SYNC_CRYPTAUTH_ENROLLMENT_CONSTANTS_H_