summaryrefslogtreecommitdiff
path: root/chromium/device/fido/virtual_fido_device.h
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-12 14:27:29 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-13 09:35:20 +0000
commitc30a6232df03e1efbd9f3b226777b07e087a1122 (patch)
treee992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/device/fido/virtual_fido_device.h
parent7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff)
downloadqtwebengine-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/virtual_fido_device.h')
-rw-r--r--chromium/device/fido/virtual_fido_device.h22
1 files changed, 19 insertions, 3 deletions
diff --git a/chromium/device/fido/virtual_fido_device.h b/chromium/device/fido/virtual_fido_device.h
index ba6348e742a..e39677127ef 100644
--- a/chromium/device/fido/virtual_fido_device.h
+++ b/chromium/device/fido/virtual_fido_device.h
@@ -32,7 +32,7 @@ class ECPrivateKey;
namespace device {
-class PublicKey;
+struct PublicKey;
constexpr size_t kMaxPinRetries = 8;
@@ -50,6 +50,20 @@ class COMPONENT_EXPORT(DEVICE_FIDO) VirtualFidoDevice : public FidoDevice {
static base::Optional<std::unique_ptr<PrivateKey>> FromPKCS8(
base::span<const uint8_t> pkcs8_private_key);
+ // FreshP256Key returns a randomly generated P-256 PrivateKey.
+ static std::unique_ptr<PrivateKey> FreshP256Key();
+
+ // FreshRSAKey returns a randomly generated RSA PrivateKey.
+ static std::unique_ptr<PrivateKey> FreshRSAKey();
+
+ // FreshEd25519Key returns a randomly generated Ed25519 PrivateKey.
+ static std::unique_ptr<PrivateKey> FreshEd25519Key();
+
+ // FreshInvalidForTestingKey returns a dummy |PrivateKey| with a special
+ // algorithm number that is used to test that unknown public keys are
+ // handled correctly.
+ static std::unique_ptr<PrivateKey> FreshInvalidForTestingKey();
+
virtual ~PrivateKey();
// Sign returns a signature over |message|.
@@ -151,6 +165,10 @@ class COMPONENT_EXPORT(DEVICE_FIDO) VirtualFidoDevice : public FidoDevice {
// The random PIN token that is returned as a placeholder for the PIN
// itself.
uint8_t pin_token[32];
+ // The permissions parameter for |pin_token|.
+ uint8_t pin_uv_token_permissions = 0;
+ // The permissions RPID for |pin_token|.
+ base::Optional<std::string> pin_uv_token_rpid;
// Number of internal UV retries remaining.
int uv_retries = kMaxUvRetries;
@@ -258,8 +276,6 @@ class COMPONENT_EXPORT(DEVICE_FIDO) VirtualFidoDevice : public FidoDevice {
scoped_refptr<State> NewReferenceToState() const { return state_; }
- static std::unique_ptr<PrivateKey> FreshP256Key();
- static std::unique_ptr<PrivateKey> FreshRSAKey();
static bool Sign(crypto::ECPrivateKey* private_key,
base::span<const uint8_t> sign_buffer,
std::vector<uint8_t>* signature);