diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-12 14:27:29 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-13 09:35:20 +0000 |
commit | c30a6232df03e1efbd9f3b226777b07e087a1122 (patch) | |
tree | e992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/device/fido/fido_constants.h | |
parent | 7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff) | |
download | qtwebengine-chromium-85-based.tar.gz |
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/device/fido/fido_constants.h')
-rw-r--r-- | chromium/device/fido/fido_constants.h | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/chromium/device/fido/fido_constants.h b/chromium/device/fido/fido_constants.h index 144d1fb6df7..ef44add20cd 100644 --- a/chromium/device/fido/fido_constants.h +++ b/chromium/device/fido/fido_constants.h @@ -63,6 +63,9 @@ constexpr size_t kAaguidLength = 16; // integer: https://www.w3.org/TR/webauthn/#sec-attested-credential-data constexpr size_t kCredentialIdLengthLength = 2; +// Length of an X9.62-encoded, uncompresed, P-256 public key. +constexpr size_t kP256X962Length = 1 /* type byte */ + 32 /* x */ + 32 /* y */; + // CTAP protocol device response code, as specified in // https://fidoalliance.org/specs/fido-v2.0-rd-20170927/fido-client-to-authenticator-protocol-v2.0-rd-20170927.html#authenticator-api enum class CtapDeviceResponseCode : uint8_t { @@ -245,17 +248,28 @@ enum class CoseKeyKey : int { // Enumerates COSE key types. See // https://tools.ietf.org/html/rfc8152#section-13 enum class CoseKeyTypes : int { + kOKP = 1, kEC2 = 2, kRSA = 3, + // kInvalidForTesting is a random 32-bit number used to test unknown key + // types. + kInvalidForTesting = 146919568, }; // Enumerates COSE elliptic curves. See // https://tools.ietf.org/html/rfc8152#section-13.1 -enum class CoseCurves : int { kP256 = 1 }; +enum class CoseCurves : int { + kP256 = 1, + kEd25519 = 6, +}; enum class CoseAlgorithmIdentifier : int { - kCoseEs256 = -7, - kCoseRs256 = -257, + kEs256 = -7, + kEdDSA = -8, + kRs256 = -257, + // kInvalidForTesting is a random 32-bit number used to test unknown + // algorithms. + kInvalidForTesting = 146919568, }; // APDU instruction code for U2F request encoding. @@ -371,10 +385,21 @@ COMPONENT_EXPORT(DEVICE_FIDO) extern const char kCableAuthenticatorHelloMessage[]; COMPONENT_EXPORT(DEVICE_FIDO) extern const char kCableClientHelloMessage[]; -// TODO(hongjunchoi): Add url to the official spec once it's standardized. +enum class Ctap2Version { + kUnknown = 0, + kCtap2_0 = 1, + kCtap2_1 = 2, +}; + +// Protocol version strings. +// https://fidoalliance.org/specs/fido-v2.0-ps-20190130/fido-client-to-authenticator-protocol-v2.0-ps-20190130.html#authenticatorGetInfo COMPONENT_EXPORT(DEVICE_FIDO) extern const char kCtap2Version[]; COMPONENT_EXPORT(DEVICE_FIDO) extern const char kU2fVersion[]; +// The version identifier for CTAP 2.1. +// TODO(nsatragno): link to the spec once this is standardized. +COMPONENT_EXPORT(DEVICE_FIDO) extern const char kCtap2_1Version[]; + COMPONENT_EXPORT(DEVICE_FIDO) extern const char kExtensionHmacSecret[]; COMPONENT_EXPORT(DEVICE_FIDO) extern const char kExtensionCredProtect[]; COMPONENT_EXPORT(DEVICE_FIDO) |