public_key.cc 766 B

1234567891011121314151617181920212223
  1. // Copyright 2017 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. #include "device/fido/public_key.h"
  5. #include <vector>
  6. #include "base/containers/span.h"
  7. #include "device/fido/fido_parsing_utils.h"
  8. #include "third_party/abseil-cpp/absl/types/optional.h"
  9. namespace device {
  10. PublicKey::PublicKey(int32_t in_algorithm,
  11. base::span<const uint8_t> in_cose_key_bytes,
  12. absl::optional<std::vector<uint8_t>> in_der_bytes)
  13. : algorithm(in_algorithm),
  14. cose_key_bytes(fido_parsing_utils::Materialize(in_cose_key_bytes)),
  15. der_bytes(std::move(in_der_bytes)) {}
  16. PublicKey::~PublicKey() = default;
  17. } // namespace device