| Index: device/u2f/u2f_sign.h
|
| diff --git a/device/u2f/u2f_sign.h b/device/u2f/u2f_sign.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..e924137f81324e3a4d4ba05eafa602152379eac0
|
| --- /dev/null
|
| +++ b/device/u2f/u2f_sign.h
|
| @@ -0,0 +1,51 @@
|
| +// Copyright 2017 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef DEVICE_U2F_U2F_SIGN_H_
|
| +#define DEVICE_U2F_U2F_SIGN_H_
|
| +
|
| +#include <vector>
|
| +
|
| +#include "u2f_request.h"
|
| +
|
| +namespace device {
|
| +
|
| +class U2fSign : public U2fRequest {
|
| + public:
|
| + U2fSign(const std::vector<std::vector<uint8_t>>& registered_keys,
|
| + const std::vector<uint8_t>& challenge_hash,
|
| + const std::vector<uint8_t>& app_param,
|
| + const ResponseCallback& cb);
|
| + ~U2fSign() override;
|
| +
|
| + static std::unique_ptr<U2fRequest> TrySign(
|
| + const std::vector<std::vector<uint8_t>>& registered_keys,
|
| + const std::vector<uint8_t>& challenge_hash,
|
| + const std::vector<uint8_t>& app_param,
|
| + const ResponseCallback& cb);
|
| +
|
| + private:
|
| + void TryDevice() override;
|
| + void OnTryDevice(std::vector<std::vector<uint8_t>>::const_iterator,
|
| + U2fReturnCode,
|
| + std::vector<uint8_t>);
|
| +
|
| + const std::vector<std::vector<uint8_t>> registered_keys_;
|
| + std::vector<uint8_t> challenge_hash_;
|
| + std::vector<uint8_t> app_param_;
|
| + const std::vector<uint8_t> kBogusAppParam = {
|
| + 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
|
| + 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
|
| + 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41};
|
| + const std::vector<uint8_t> kBogusChallenge = {
|
| + 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
|
| + 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
|
| + 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42};
|
| +
|
| + base::WeakPtrFactory<U2fSign> weak_factory_;
|
| +};
|
| +
|
| +} // namespace device
|
| +
|
| +#endif // DEVICE_U2F_U2F_SIGN_H_
|
|
|