diff options
Diffstat (limited to 'chromium/device/fido/public_key.h')
-rw-r--r-- | chromium/device/fido/public_key.h | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/chromium/device/fido/public_key.h b/chromium/device/fido/public_key.h index c3e51ab7269..f9e97012984 100644 --- a/chromium/device/fido/public_key.h +++ b/chromium/device/fido/public_key.h @@ -6,41 +6,36 @@ #define DEVICE_FIDO_PUBLIC_KEY_H_ #include <stdint.h> -#include <string> #include <vector> #include "base/component_export.h" #include "base/containers/span.h" #include "base/macros.h" +#include "base/optional.h" namespace device { // https://www.w3.org/TR/webauthn/#credentialpublickey -class COMPONENT_EXPORT(DEVICE_FIDO) PublicKey { - public: +struct COMPONENT_EXPORT(DEVICE_FIDO) PublicKey { PublicKey(int32_t algorithm, base::span<const uint8_t> cbor_bytes, base::Optional<std::vector<uint8_t>> der_bytes); - virtual ~PublicKey(); + ~PublicKey(); - // algorithm returns the COSE algorithm identifier for this public key. - int32_t algorithm() const; + // algorithm contains the COSE algorithm identifier for this public key. + const int32_t algorithm; - // The credential public key as a COSE_Key map as defined in Section 7 - // of https://tools.ietf.org/html/rfc8152. - const std::vector<uint8_t>& cose_key_bytes() const; + // cose_key_bytes contains the credential public key as a COSE_Key map as + // defined in Section 7 of https://tools.ietf.org/html/rfc8152. + const std::vector<uint8_t> cose_key_bytes; - // der_bytes returns an ASN.1, DER, SubjectPublicKeyInfo describing this + // der_bytes contains an ASN.1, DER, SubjectPublicKeyInfo describing this // public key, if possible. (WebAuthn can negotiate the use of unknown // public-key algorithms so not all public keys can be transformed into SPKI // form.) - const base::Optional<std::vector<uint8_t>>& der_bytes() const; + const base::Optional<std::vector<uint8_t>> der_bytes; private: - const int32_t algorithm_; - std::vector<uint8_t> cbor_bytes_; - base::Optional<std::vector<uint8_t>> der_bytes_; - DISALLOW_COPY_AND_ASSIGN(PublicKey); }; |