Minimal repro for testing payload compatibility between:
Microsoft.AspNetCore.DataProtection10.0.5Microsoft.AspNetCore.DataProtection10.0.6
Both apps:
- target
.NET 10 - use the same application name:
DataProtectionVersionRepro - use the same purpose string:
secret - default to the same key ring directory:
./shared-keys
dotnet build./run-repro.shOptional secret value:
./run-repro.sh "my-secret"dotnet build
payload=$(dotnet run --no-build --project src/DataProtection105 -- protect "super-secret")
dotnet run --no-build --project src/DataProtection106 -- unprotect "$payload"dotnet build
payload=$(dotnet run --no-build --project src/DataProtection106 -- protect "super-secret")
dotnet run --no-build --project src/DataProtection105 -- unprotect "$payload"dotnet run --no-build --project src/DataProtection105 -- protect "super-secret" ./shared-keys
dotnet run --no-build --project src/DataProtection106 -- unprotect "<payload>" ./shared-keysIf either cross-version unprotect fails, the console app exits with code 2 and prints the exception to stderr.