Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V .NET 10 CoseSigner.Key , vlastnost může nyní vrátit null. Pokud CoseSigner je zajištěn klíč RSA nebo ECDSA, CoseSigner.Key vrátí nenulový klíč. Pokud CoseSigner je však podporován klíčem, který není odvozen od AsymmetricAlgorithm, například MLDsa (nový podpisový algoritmus PQC (Post-Quantum Cryptography), CoseSigner.Key vrátí null.
Verze byla představena
.NET 10
Předchozí chování
CoseSigner.Key Dříve to nebylo možné null. Měl typ AsymmetricAlgorithm.
Nové chování
Od verze .NET 10 CoseSigner.Key může být null. Jeho typ je 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.
Typ zásadní změny
Jedná se o změnu chování , ale může také ovlivnit kompatibilitu zdroje.
Důvod změny
Díky zavedení nových podpisových algoritmů, jako je ML-DSA, se rozhraní .NET odpojilo od použití AsymmetricAlgorithm jako univerzální základní třídy pro všechny asymetrické algoritmy.
CoseSigner Podobně lze nyní vytvořit pomocí klíče, který není odvozen od AsymmetricAlgorithm. V tomto případě CoseSigner.Key nemůže vrátit reprezentaci základního AsymmetricAlgorithm klíče, a proto se vrátí null místo toho.
Doporučená akce
Je stále v pořádku použít CoseSigner.Key , ale nezapomeňte zpracovat null hodnoty.