Skip to content

Commit 5e96a5f

Browse files
authored
Drop net5.0 support & update depedencies (#295)
* Drop net5.0 target * Update Microsoft.SourceLink.GitHub * Update NSec.Cryptography, System.Formats.Cbor, and System.IdentityModel.Tokens.Jwt * Update Test.Sdk * Use RandomNumberGenerator -- RandomGenerator.Default.GenerateBytes is Obsolete * [Pipelines] Remove net5.0 jobs
1 parent 6424715 commit 5e96a5f

File tree

8 files changed

+29
-52
lines changed

8 files changed

+29
-52
lines changed

Demo/Demo.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk.Web">
22
<PropertyGroup>
3-
<TargetFrameworks>net5.0;net6.0</TargetFrameworks>
3+
<TargetFrameworks>net6.0</TargetFrameworks>
44
<UserSecretsId>39589262-6aa1-4bde-aaa9-403a7542cf63</UserSecretsId>
55
<RootNamespace>Fido2Demo</RootNamespace>
66
</PropertyGroup>

Directory.Build.props

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@
1515

1616
<!-- Global Variables -->
1717
<PropertyGroup>
18-
<SupportedTargetFrameworks>net5.0;net6.0</SupportedTargetFrameworks>
18+
<SupportedTargetFrameworks>net6.0</SupportedTargetFrameworks>
1919
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
2020
</PropertyGroup>
2121

2222
<!-- Language + Compiler Settings-->
2323
<PropertyGroup>
24-
<LangVersion>9</LangVersion>
24+
<LangVersion>10</LangVersion>
2525
</PropertyGroup>
2626

2727
<!--MISC-->

Src/Fido2.AspNet/Fido2.AspNet.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>net5.0;net6.0</TargetFrameworks>
4+
<TargetFrameworks>net6.0</TargetFrameworks>
55
<RootNamespace>Fido2NetLib</RootNamespace>
66
</PropertyGroup>
77

@@ -11,7 +11,7 @@
1111
</ItemGroup>
1212

1313
<ItemGroup>
14-
<PackageReference Update="Microsoft.SourceLink.GitHub" Version="1.0.0" />
14+
<PackageReference Update="Microsoft.SourceLink.GitHub" Version="1.1.1" />
1515
</ItemGroup>
1616

1717
<ItemGroup>

Src/Fido2.Models/Fido2.Models.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@
1717
</ItemGroup>
1818

1919
<ItemGroup>
20-
<PackageReference Update="Microsoft.SourceLink.GitHub" Version="1.0.0" />
20+
<PackageReference Update="Microsoft.SourceLink.GitHub" Version="1.1.1" />
2121
</ItemGroup>
2222
</Project>

Src/Fido2/Fido2.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@
1717
<ItemGroup>
1818
<ProjectReference Include="..\Fido2.Models\Fido2.Models.csproj" />
1919
<PackageReference Include="Microsoft.Extensions.Http" Version="6.0.0" />
20-
<PackageReference Include="NSec.Cryptography" Version="20.2.0" />
21-
<PackageReference Include="System.Formats.Cbor" Version="5.0.0" />
22-
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.6.0" />
20+
<PackageReference Include="NSec.Cryptography" Version="22.4.0" />
21+
<PackageReference Include="System.Formats.Cbor" Version="6.0.0" />
22+
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.17.0" />
2323
</ItemGroup>
2424

2525
<ItemGroup>
@@ -31,6 +31,6 @@
3131
</ItemGroup>
3232

3333
<ItemGroup>
34-
<PackageReference Update="Microsoft.SourceLink.GitHub" Version="1.0.0" />
34+
<PackageReference Update="Microsoft.SourceLink.GitHub" Version="1.1.1" />
3535
</ItemGroup>
3636
</Project>

Test/AuthenticatorResponse.cs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public class AuthenticatorResponse
4949
[InlineData("https://[0:0:0:0:0:0:0:1]", "https://[0:0:0:0:0:0:0:1]:443")]
5050
public async Task TestAuthenticatorOrigins(string origin, string expectedOrigin)
5151
{
52-
var challenge = RandomGenerator.Default.GenerateBytes(128);
52+
var challenge = RandomNumberGenerator.GetBytes(128);
5353
var rp = origin;
5454
var acd = new AttestedCredentialData(("00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-40-FE-6A-32-63-BE-37-D1-01-B1-2E-57-CA-96-6C-00-22-93-E4-19-C8-CD-01-06-23-0B-C6-92-E8-CC-77-12-21-F1-DB-11-5D-41-0F-82-6B-DB-98-AC-64-2E-B1-AE-B5-A8-03-D1-DB-C1-47-EF-37-1C-FD-B1-CE-B0-48-CB-2C-A5-01-02-03-26-20-01-21-58-20-A6-D1-09-38-5A-C7-8E-5B-F0-3D-1C-2E-08-74-BE-6D-BB-A4-0B-4F-2A-5F-2F-11-82-45-65-65-53-4F-67-28-22-58-20-43-E1-08-2A-F3-13-5B-40-60-93-79-AC-47-42-58-AA-B3-97-B8-86-1D-E4-41-B4-4E-83-08-5D-1C-6B-E0-D0").Split('-').Select(c => Convert.ToByte(c, 16)).ToArray());
5555
var authData = new AuthenticatorData(
@@ -153,7 +153,7 @@ public async Task TestAuthenticatorOrigins(string origin, string expectedOrigin)
153153
[InlineData("http://[0:0:0:0:0:0:0:1]", "https://[0:0:0:0:0:0:0:1]:443")]
154154
public void TestAuthenticatorOriginsFail(string origin, string expectedOrigin)
155155
{
156-
var challenge = RandomGenerator.Default.GenerateBytes(128);
156+
var challenge = RandomNumberGenerator.GetBytes(128);
157157
var rp = origin;
158158
var acd = new AttestedCredentialData(("00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-40-FE-6A-32-63-BE-37-D1-01-B1-2E-57-CA-96-6C-00-22-93-E4-19-C8-CD-01-06-23-0B-C6-92-E8-CC-77-12-21-F1-DB-11-5D-41-0F-82-6B-DB-98-AC-64-2E-B1-AE-B5-A8-03-D1-DB-C1-47-EF-37-1C-FD-B1-CE-B0-48-CB-2C-A5-01-02-03-26-20-01-21-58-20-A6-D1-09-38-5A-C7-8E-5B-F0-3D-1C-2E-08-74-BE-6D-BB-A4-0B-4F-2A-5F-2F-11-82-45-65-65-53-4F-67-28-22-58-20-43-E1-08-2A-F3-13-5B-40-60-93-79-AC-47-42-58-AA-B3-97-B8-86-1D-E4-41-B4-4E-83-08-5D-1C-6B-E0-D0").Split('-').Select(c => Convert.ToByte(c, 16)).ToArray());
159159
var authData = new AuthenticatorData(
@@ -230,7 +230,7 @@ public void TestAuthenticatorOriginsFail(string origin, string expectedOrigin)
230230
[Fact]
231231
public void TestAuthenticatorAttestationRawResponse()
232232
{
233-
var challenge = RandomGenerator.Default.GenerateBytes(128);
233+
var challenge = RandomNumberGenerator.GetBytes(128);
234234
var clientDataJson = JsonSerializer.SerializeToUtf8Bytes(new
235235
{
236236
Type = "webauthn.create",
@@ -356,7 +356,7 @@ public void TestAuthenticatorAttestationObjectMalformed(byte[] value)
356356
[Fact]
357357
public void TestAuthenticatorAttestationResponseInvalidType()
358358
{
359-
var challenge = RandomGenerator.Default.GenerateBytes(128);
359+
var challenge = RandomNumberGenerator.GetBytes(128);
360360
var rp = "https://www.passwordless.dev";
361361
var clientDataJson = JsonSerializer.SerializeToUtf8Bytes(new
362362
{
@@ -428,7 +428,7 @@ public void TestAuthenticatorAttestationResponseInvalidType()
428428
[InlineData(new byte[0])]
429429
public void TestAuthenticatorAttestationResponseInvalidRawId(byte[] value)
430430
{
431-
var challenge = RandomGenerator.Default.GenerateBytes(128);
431+
var challenge = RandomNumberGenerator.GetBytes(128);
432432
var rp = "https://www.passwordless.dev";
433433
byte[] clientDataJson = JsonSerializer.SerializeToUtf8Bytes(new {
434434
type = "webauthn.create",
@@ -446,7 +446,7 @@ public void TestAuthenticatorAttestationResponseInvalidRawId(byte[] value)
446446
AttestationObject = new CborMap {
447447
{ "fmt", "testing" },
448448
{ "attStmt", new CborMap() },
449-
{ "authData", new byte[0] }
449+
{ "authData", Array.Empty<byte>() }
450450
}.Encode(),
451451
ClientDataJson = clientDataJson
452452
},
@@ -497,7 +497,7 @@ public void TestAuthenticatorAttestationResponseInvalidRawId(byte[] value)
497497
[Fact]
498498
public void TestAuthenticatorAttestationResponseInvalidRawType()
499499
{
500-
var challenge = RandomGenerator.Default.GenerateBytes(128);
500+
var challenge = RandomNumberGenerator.GetBytes(128);
501501
var rp = "https://www.passwordless.dev";
502502
var clientDataJson = JsonSerializer.SerializeToUtf8Bytes(new {
503503
type = "webauthn.create",
@@ -515,7 +515,7 @@ public void TestAuthenticatorAttestationResponseInvalidRawType()
515515
AttestationObject = new CborMap {
516516
{ "fmt", "testing" },
517517
{ "attStmt", new CborMap() },
518-
{ "authData", new byte[0] }
518+
{ "authData", Array.Empty<byte>() }
519519
}.Encode(),
520520
ClientDataJson = clientDataJson
521521
},
@@ -566,7 +566,7 @@ public void TestAuthenticatorAttestationResponseInvalidRawType()
566566
[Fact]
567567
public void TestAuthenticatorAttestationResponseRpidMismatch()
568568
{
569-
var challenge = RandomGenerator.Default.GenerateBytes(128);
569+
var challenge = RandomNumberGenerator.GetBytes(128);
570570
var rp = "https://www.passwordless.dev";
571571
var authData = new AuthenticatorData(
572572
SHA256.HashData(Encoding.UTF8.GetBytes("passwordless.dev")),
@@ -643,7 +643,7 @@ public void TestAuthenticatorAttestationResponseRpidMismatch()
643643
[Fact]
644644
public void TestAuthenticatorAttestationResponseNotUserPresent()
645645
{
646-
var challenge = RandomGenerator.Default.GenerateBytes(128);
646+
var challenge = RandomNumberGenerator.GetBytes(128);
647647
var rp = "https://www.passwordless.dev";
648648
var authData = new AuthenticatorData(
649649
SHA256.HashData(Encoding.UTF8.GetBytes(rp)),
@@ -721,7 +721,7 @@ public void TestAuthenticatorAttestationResponseNotUserPresent()
721721
[Fact]
722722
public void TestAuthenticatorAttestationResponseNoAttestedCredentialData()
723723
{
724-
var challenge = RandomGenerator.Default.GenerateBytes(128);
724+
var challenge = RandomNumberGenerator.GetBytes(128);
725725
var rp = "https://www.passwordless.dev";
726726
var authData = new AuthenticatorData(
727727
SHA256.HashData(Encoding.UTF8.GetBytes(rp)),
@@ -798,7 +798,7 @@ public void TestAuthenticatorAttestationResponseNoAttestedCredentialData()
798798
[Fact]
799799
public void TestAuthenticatorAttestationResponseUnknownAttestationType()
800800
{
801-
var challenge = RandomGenerator.Default.GenerateBytes(128);
801+
var challenge = RandomNumberGenerator.GetBytes(128);
802802
var rp = "https://www.passwordless.dev";
803803
var acd = new AttestedCredentialData(("00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-40-FE-6A-32-63-BE-37-D1-01-B1-2E-57-CA-96-6C-00-22-93-E4-19-C8-CD-01-06-23-0B-C6-92-E8-CC-77-12-21-F1-DB-11-5D-41-0F-82-6B-DB-98-AC-64-2E-B1-AE-B5-A8-03-D1-DB-C1-47-EF-37-1C-FD-B1-CE-B0-48-CB-2C-A5-01-02-03-26-20-01-21-58-20-A6-D1-09-38-5A-C7-8E-5B-F0-3D-1C-2E-08-74-BE-6D-BB-A4-0B-4F-2A-5F-2F-11-82-45-65-65-53-4F-67-28-22-58-20-43-E1-08-2A-F3-13-5B-40-60-93-79-AC-47-42-58-AA-B3-97-B8-86-1D-E4-41-B4-4E-83-08-5D-1C-6B-E0-D0").Split('-').Select(c => Convert.ToByte(c, 16)).ToArray());
804804
var authData = new AuthenticatorData(
@@ -876,7 +876,7 @@ public void TestAuthenticatorAttestationResponseUnknownAttestationType()
876876
[Fact]
877877
public void TestAuthenticatorAttestationResponseNotUniqueCredId()
878878
{
879-
var challenge = RandomGenerator.Default.GenerateBytes(128);
879+
var challenge = RandomNumberGenerator.GetBytes(128);
880880
var rp = "https://www.passwordless.dev";
881881
var acd = new AttestedCredentialData(("00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-40-FE-6A-32-63-BE-37-D1-01-B1-2E-57-CA-96-6C-00-22-93-E4-19-C8-CD-01-06-23-0B-C6-92-E8-CC-77-12-21-F1-DB-11-5D-41-0F-82-6B-DB-98-AC-64-2E-B1-AE-B5-A8-03-D1-DB-C1-47-EF-37-1C-FD-B1-CE-B0-48-CB-2C-A5-01-02-03-26-20-01-21-58-20-A6-D1-09-38-5A-C7-8E-5B-F0-3D-1C-2E-08-74-BE-6D-BB-A4-0B-4F-2A-5F-2F-11-82-45-65-65-53-4F-67-28-22-58-20-43-E1-08-2A-F3-13-5B-40-60-93-79-AC-47-42-58-AA-B3-97-B8-86-1D-E4-41-B4-4E-83-08-5D-1C-6B-E0-D0").Split('-').Select(c => Convert.ToByte(c, 16)).ToArray());
882882
var authData = new AuthenticatorData(
@@ -953,7 +953,7 @@ public void TestAuthenticatorAttestationResponseNotUniqueCredId()
953953
[Fact]
954954
public void TestAuthenticatorAttestationResponseUVRequired()
955955
{
956-
var challenge = RandomGenerator.Default.GenerateBytes(128);
956+
var challenge = RandomNumberGenerator.GetBytes(128);
957957
var rp = "https://www.passwordless.dev";
958958
var acd = new AttestedCredentialData(("00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-40-FE-6A-32-63-BE-37-D1-01-B1-2E-57-CA-96-6C-00-22-93-E4-19-C8-CD-01-06-23-0B-C6-92-E8-CC-77-12-21-F1-DB-11-5D-41-0F-82-6B-DB-98-AC-64-2E-B1-AE-B5-A8-03-D1-DB-C1-47-EF-37-1C-FD-B1-CE-B0-48-CB-2C-A5-01-02-03-26-20-01-21-58-20-A6-D1-09-38-5A-C7-8E-5B-F0-3D-1C-2E-08-74-BE-6D-BB-A4-0B-4F-2A-5F-2F-11-82-45-65-65-53-4F-67-28-22-58-20-43-E1-08-2A-F3-13-5B-40-60-93-79-AC-47-42-58-AA-B3-97-B8-86-1D-E4-41-B4-4E-83-08-5D-1C-6B-E0-D0").Split('-').Select(c => Convert.ToByte(c, 16)).ToArray());
959959
var authData = new AuthenticatorData(
@@ -1030,7 +1030,7 @@ public void TestAuthenticatorAttestationResponseUVRequired()
10301030
[Fact]
10311031
public void TestAuthenticatorAssertionRawResponse()
10321032
{
1033-
var challenge = RandomGenerator.Default.GenerateBytes(128);
1033+
var challenge = RandomNumberGenerator.GetBytes(128);
10341034
var clientDataJson = JsonSerializer.SerializeToUtf8Bytes(new
10351035
{
10361036
Type = "webauthn.get",

Test/Test.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>net5.0;net6.0</TargetFrameworks>
3+
<TargetFrameworks>net6.0</TargetFrameworks>
44
<IsPackable>false</IsPackable>
55
</PropertyGroup>
66

@@ -21,14 +21,14 @@
2121
</ItemGroup>
2222

2323
<ItemGroup>
24-
<PackageReference Include="coverlet.collector" Version="3.1.0">
24+
<PackageReference Include="coverlet.collector" Version="3.1.2">
2525
<PrivateAssets>all</PrivateAssets>
2626
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
2727
</PackageReference>
28-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.0.0" />
28+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.1.0" />
2929
<PackageReference Include="ReportGenerator" Version="5.0.0" />
3030
<PackageReference Include="xunit" Version="2.4.1" />
31-
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
31+
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
3232
<PrivateAssets>all</PrivateAssets>
3333
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
3434
</PackageReference>

azure-pipelines.yml

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,6 @@ jobs:
1313
pool:
1414
vmImage: $(TargetVmImage)
1515
steps:
16-
- task: UseDotNet@2
17-
displayName: 'Use .NET 5.0 SDK'
18-
inputs:
19-
packageType: 'sdk'
20-
version: '5.0.x'
21-
installationPath: $(Agent.ToolsDirectory)/dotnet-demo
2216
- task: UseDotNet@2
2317
displayName: 'Use .NET 6.0 SDK'
2418
inputs:
@@ -36,23 +30,12 @@ jobs:
3630
command: build
3731
arguments: '--configuration $(buildConfiguration) --no-restore --nologo "-p:Version=$(Build.BuildNumber)-development"'
3832
projects: 'Demo/Demo.csproj'
39-
- task: DotNetCoreCLI@2
40-
displayName: Publish website [net5.0]
41-
inputs:
42-
command: publish
43-
arguments: '--no-build --nologo --configuration $(BuildConfiguration) --output $(build.ArtifactStagingDirectory)/net5.0 /p:PackageVersion=$(Build.BuildNumber)-development --framework net5.0'
44-
projects: 'Demo/Demo.csproj'
4533
- task: DotNetCoreCLI@2
4634
displayName: Publish website [net6.0]
4735
inputs:
4836
command: publish
4937
arguments: '--no-build --nologo --configuration $(BuildConfiguration) --output $(build.ArtifactStagingDirectory)/net6.0 /p:PackageVersion=$(Build.BuildNumber)-development --framework net6.0'
5038
projects: 'Demo/Demo.csproj'
51-
- task: PublishBuildArtifacts@1
52-
displayName: Copy website to artifacts [net5.0]
53-
inputs:
54-
pathToPublish: $(build.ArtifactStagingDirectory)/net5.0
55-
artifactName: Demo .Net 5.0
5639
- task: PublishBuildArtifacts@1
5740
displayName: Copy website to artifacts [net6.0]
5841
inputs:
@@ -65,12 +48,6 @@ jobs:
6548
pool:
6649
vmImage: $(TargetVmImage)
6750
steps:
68-
- task: UseDotNet@2
69-
displayName: 'Use .NET 5.0 SDK'
70-
inputs:
71-
packageType: 'sdk'
72-
version: '5.0.x'
73-
installationPath: $(Agent.ToolsDirectory)/dotnet-unit-tests
7451
- task: UseDotNet@2
7552
displayName: 'Use .NET 6.0 SDK'
7653
inputs:

0 commit comments

Comments
 (0)