Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In .NET 10 kan de CoseSigner.Key eigenschap nu null retourneren. Als CoseSigner wordt ondersteund door een RSA- of ECDSA-sleutel, retourneert CoseSigner.Key een niet-null sleutel. Wanneer CoseSigner wordt ondersteund door een sleutel die niet is afgeleid van AsymmetricAlgorithm, zoals MLDsa (een nieuw Post-Quantum Cryptography (PQC) ondertekeningsalgoritme), retourneert CoseSigner.Keynull.
Geïntroduceerde versie
.NET 10
Vorig gedrag
CoseSigner.Key Voorheen kon het niet zijnnull. Het had type AsymmetricAlgorithm.
Nieuw gedrag
Vanaf .NET 10 kan CoseSigner.Keynull zijn. Het type is AsymmetricAlgorithm?.
using RSA rsaKey = RSA.Create();
CoseSigner signer = new CoseSigner(rsaKey, RSASignaturePadding.Pss, HashAlgorithmName.SHA512);
// signer.Key is rsaKey here.
// CoseKey is a new abstraction for all keys used in COSE.
CoseKey coseKey = new CoseKey(rsaKey, RSASignaturePadding.Pss, HashAlgorithmName.SHA512);
signer = new CoseSigner(coseKey);
// signer.Key is rsaKey here.
using MLDsa mldsa = MLDsa.GenerateKey(MLDsaAlgorithm.MLDsa44);
coseKey = new CoseKey(mldsa);
signer = new CoseSigner(coseKey);
// signer.Key is null here.
Type van brekende verandering
Dit is een gedragswijziging , maar dit kan ook van invloed zijn op de broncompatibiliteit.
Reden voor wijziging
Met de introductie van nieuwe ondertekeningsalgoritmen zoals ML-DSA, is .NET afgestapt van het gebruik van AsymmetricAlgorithm als de universele basisklasse voor alle asymmetrische algoritmen. **
Evenzo kan CoseSigner nu met een sleutel worden gecreëerd die niet is afgeleid van AsymmetricAlgorithm. In dit geval kan er geen CoseSigner.Key worden geretourneerd die de onderliggende sleutel vertegenwoordigt, en daarom wordt AsymmetricAlgorithm geretourneerd.
Aanbevolen actie
Het is nog steeds prima om CoseSigner.Key te gebruiken, maar zorg ervoor dat je null waarden goed verwerkt.