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)