summaryrefslogtreecommitdiff
path: root/chromium/device/fido/virtual_fido_device.h
diff options
context:
space:
mode:
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);