Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Na platformie .NET 10 CoseSigner.Key właściwość może teraz zwrócić wartość null. Jeśli CoseSigner jest wspierany przez klucz RSA lub ECDSA, zwraca CoseSigner.Key klucz inny niż null. Jednak w przypadku, gdy CoseSigner jest wspierany przez klucz, który nie pochodzi z AsymmetricAlgorithmelementu , na przykład MLDsa (nowy algorytm podpisywania Post-Quantum Cryptography (PQC), CoseSigner.Key zwraca wartość null.
Wersja wprowadzona
.NET 10
Poprzednie zachowanie
CoseSigner.Key Wcześniej nie można było mieć wartości null. Miał typ AsymmetricAlgorithm.
Nowe zachowanie
Począwszy od platformy .NET 10, CoseSigner.Key może to być null. Jego typ to 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 zmiany przełamującej
Jest to zmiana behawioralna , ale może również mieć wpływ na zgodność ze źródłem.
Przyczyna zmiany
Wraz z wprowadzeniem nowych algorytmów podpisywania, takich jak ML-DSA, platforma .NET odeszła od użycia AsymmetricAlgorithm jako uniwersalna klasa bazowa dla wszystkich algorytmów asymetrycznych.
CoseSigner Podobnie można teraz utworzyć za pomocą klucza, który nie pochodzi z elementu AsymmetricAlgorithm. W tym przypadku CoseSigner.Key nie można zwrócić reprezentującego klucza bazowego AsymmetricAlgorithm , a tym samym zwraca wartość null zamiast tego.
Zalecana akcja
Nadal jest w porządku, aby użyć CoseSigner.Key , ale pamiętaj, aby obsługiwać null wartości.