1234567891011121314151617181920212223242526272829303132333435363738394041 |
- // Copyright 2018 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_FIDO_OPAQUE_ATTESTATION_STATEMENT_H_
- #define DEVICE_FIDO_OPAQUE_ATTESTATION_STATEMENT_H_
- #include <string>
- #include "base/component_export.h"
- #include "components/cbor/values.h"
- #include "device/fido/attestation_statement.h"
- namespace device {
- // https://www.w3.org/TR/2017/WD-webauthn-20170505/#fido-u2f-attestation
- class COMPONENT_EXPORT(DEVICE_FIDO) OpaqueAttestationStatement
- : public AttestationStatement {
- public:
- OpaqueAttestationStatement(std::string attestation_format,
- cbor::Value attestation_statement_map);
- OpaqueAttestationStatement(const OpaqueAttestationStatement&) = delete;
- OpaqueAttestationStatement& operator=(const OpaqueAttestationStatement&) =
- delete;
- ~OpaqueAttestationStatement() override;
- // AttestationStatement:
- cbor::Value AsCBOR() const override;
- bool IsSelfAttestation() const override;
- bool IsAttestationCertificateInappropriatelyIdentifying() const override;
- absl::optional<base::span<const uint8_t>> GetLeafCertificate() const override;
- private:
- cbor::Value attestation_statement_map_;
- };
- } // namespace device
- #endif // DEVICE_FIDO_OPAQUE_ATTESTATION_STATEMENT_H_
|