From 70e14a64864149c47a46829a8b84fa7e84665fcd Mon Sep 17 00:00:00 2001
From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com>
Date: Fri, 31 Jan 2025 18:38:51 +0300
Subject: [PATCH 1/5] rpId is nullable
---
dotnet/src/webdriver/VirtualAuth/Credential.cs | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/dotnet/src/webdriver/VirtualAuth/Credential.cs b/dotnet/src/webdriver/VirtualAuth/Credential.cs
index 57dbcbe76ff45..096fb8e9a813d 100644
--- a/dotnet/src/webdriver/VirtualAuth/Credential.cs
+++ b/dotnet/src/webdriver/VirtualAuth/Credential.cs
@@ -34,11 +34,11 @@ public sealed class Credential
private readonly byte[] id;
private readonly byte[]? userHandle;
- private Credential(byte[] id, bool isResidentCredential, string rpId, string privateKey, byte[]? userHandle, int signCount)
+ private Credential(byte[] id, bool isResidentCredential, string? rpId, string privateKey, byte[]? userHandle, int signCount)
{
this.id = id ?? throw new ArgumentNullException(nameof(id));
this.IsResidentCredential = isResidentCredential;
- this.RpId = rpId ?? throw new ArgumentNullException(nameof(rpId));
+ this.RpId = rpId;
this.PrivateKey = privateKey ?? throw new ArgumentNullException(nameof(privateKey));
this.userHandle = userHandle;
this.SignCount = signCount;
@@ -52,8 +52,8 @@ private Credential(byte[] id, bool isResidentCredential, string rpId, string pri
/// The private Key for the credentials.
/// The signature counter for the credentials.
/// The created instance of the Credential class.
- /// If , , or are .
- public static Credential CreateNonResidentCredential(byte[] id, string rpId, string privateKey, int signCount)
+ /// If or are .
+ public static Credential CreateNonResidentCredential(byte[] id, string? rpId, string privateKey, int signCount)
{
return new Credential(id, false, rpId, privateKey, null, signCount);
}
@@ -67,8 +67,8 @@ public static Credential CreateNonResidentCredential(byte[] id, string rpId, str
/// The user handle associated to the credential.
/// The signature counter for the credentials.
/// The created instance of the Credential class.
- /// If , , or are .
- public static Credential CreateResidentCredential(byte[] id, string rpId, string privateKey, byte[] userHandle, int signCount)
+ /// If or are .
+ public static Credential CreateResidentCredential(byte[] id, string? rpId, string privateKey, byte[] userHandle, int signCount)
{
return new Credential(id, true, rpId, privateKey, userHandle, signCount);
}
From 01e2eb7987acd80ed829be5c35660f6a10b6ba66 Mon Sep 17 00:00:00 2001
From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com>
Date: Fri, 31 Jan 2025 21:13:24 +0300
Subject: [PATCH 2/5] Fix test name
---
dotnet/test/common/VirtualAuthn/VirtualAuthenticatorTest.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dotnet/test/common/VirtualAuthn/VirtualAuthenticatorTest.cs b/dotnet/test/common/VirtualAuthn/VirtualAuthenticatorTest.cs
index fdfa743d4a51f..7723150b6640f 100644
--- a/dotnet/test/common/VirtualAuthn/VirtualAuthenticatorTest.cs
+++ b/dotnet/test/common/VirtualAuthn/VirtualAuthenticatorTest.cs
@@ -479,7 +479,7 @@ public void ShouldRemoveAllCredentials()
[IgnoreBrowser(Selenium.Browser.IE, "IE does not support Virtual Authenticator")]
[IgnoreBrowser(Selenium.Browser.Firefox, "Firefox does not support Virtual Authenticator")]
[IgnoreBrowser(Selenium.Browser.Safari, "Safari does not support Virtual Authenticator")]
- public void testSetUserVerified()
+ public void TestSetUserVerified()
{
CreateRKEnabledCTAP2Authenticator();
From d1e9094e1e5b8f9b0fd438508a0bcc76152dc79d Mon Sep 17 00:00:00 2001
From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com>
Date: Fri, 31 Jan 2025 21:15:26 +0300
Subject: [PATCH 3/5] Non-nullable in CreateCredential methods
---
dotnet/src/webdriver/VirtualAuth/Credential.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dotnet/src/webdriver/VirtualAuth/Credential.cs b/dotnet/src/webdriver/VirtualAuth/Credential.cs
index 096fb8e9a813d..57ecaa0c0e524 100644
--- a/dotnet/src/webdriver/VirtualAuth/Credential.cs
+++ b/dotnet/src/webdriver/VirtualAuth/Credential.cs
@@ -53,7 +53,7 @@ private Credential(byte[] id, bool isResidentCredential, string? rpId, string pr
/// The signature counter for the credentials.
/// The created instance of the Credential class.
/// If or are .
- public static Credential CreateNonResidentCredential(byte[] id, string? rpId, string privateKey, int signCount)
+ public static Credential CreateNonResidentCredential(byte[] id, string rpId, string privateKey, int signCount)
{
return new Credential(id, false, rpId, privateKey, null, signCount);
}
@@ -68,7 +68,7 @@ public static Credential CreateNonResidentCredential(byte[] id, string? rpId, st
/// The signature counter for the credentials.
/// The created instance of the Credential class.
/// If or are .
- public static Credential CreateResidentCredential(byte[] id, string? rpId, string privateKey, byte[] userHandle, int signCount)
+ public static Credential CreateResidentCredential(byte[] id, string rpId, string privateKey, byte[] userHandle, int signCount)
{
return new Credential(id, true, rpId, privateKey, userHandle, signCount);
}
From 0dcae2ed0350f24bf576fa04eb24268fd2502d64 Mon Sep 17 00:00:00 2001
From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com>
Date: Fri, 31 Jan 2025 21:16:12 +0300
Subject: [PATCH 4/5] Nullable property
---
dotnet/src/webdriver/VirtualAuth/Credential.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dotnet/src/webdriver/VirtualAuth/Credential.cs b/dotnet/src/webdriver/VirtualAuth/Credential.cs
index 57ecaa0c0e524..6a9baa84867d0 100644
--- a/dotnet/src/webdriver/VirtualAuth/Credential.cs
+++ b/dotnet/src/webdriver/VirtualAuth/Credential.cs
@@ -86,7 +86,7 @@ public static Credential CreateResidentCredential(byte[] id, string rpId, string
///
/// Gets the ID of the relying party of this credential.
///
- public string RpId { get; }
+ public string? RpId { get; }
///
/// Gets the private key of the credential.
From e6b75dae8b860c9fd6477e92727b387ef98025e0 Mon Sep 17 00:00:00 2001
From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com>
Date: Fri, 31 Jan 2025 21:22:45 +0300
Subject: [PATCH 5/5] Update convert to dict
---
dotnet/src/webdriver/VirtualAuth/Credential.cs | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/dotnet/src/webdriver/VirtualAuth/Credential.cs b/dotnet/src/webdriver/VirtualAuth/Credential.cs
index 6a9baa84867d0..af3e09cc94e41 100644
--- a/dotnet/src/webdriver/VirtualAuth/Credential.cs
+++ b/dotnet/src/webdriver/VirtualAuth/Credential.cs
@@ -130,7 +130,10 @@ public Dictionary ToDictionary()
toReturn["credentialId"] = Base64UrlEncoder.Encode(this.id);
toReturn["isResidentCredential"] = this.IsResidentCredential;
- toReturn["rpId"] = this.RpId;
+ if (this.RpId is not null)
+ {
+ toReturn["rpId"] = this.RpId;
+ }
toReturn["privateKey"] = this.PrivateKey;
toReturn["signCount"] = this.SignCount;
if (this.userHandle is not null)