Niektóre konstruktory X509Certificate2 i X509Certificate są przestarzałe
Konstruktory włączone X509Certificate i X509Certificate2 akceptujące zawartość jako ścieżkę byte[]
pliku lub ReadOnlySpan<byte>
string
, są przestarzałe, począwszy od platformy .NET 9. Import Metody w środowisku X509Certificate2Collection są również przestarzałe. Wywołanie ich w kodzie generuje ostrzeżenie SYSLIB0057
w czasie kompilacji.
Poprzednie zachowanie
Deweloperzy mogą korzystać z interfejsów API, których dotyczy problem, bez przestarzałego ostrzeżenia.
Nowe zachowanie
Interfejsy API, których dotyczy problem, otrzymają przestarzałe ostrzeżenie kompilacji z identyfikatorem SYSLIB0057.
Wprowadzona wersja
.NET 9 (wersja zapoznawcza 7)
Typ zmiany powodującej niezgodność
Ta zmiana może mieć wpływ na zgodność źródła.
Przyczyna wprowadzenia zmiany
Interfejsy API, których dotyczy problem, obsługują ładowanie certyfikatów w wielu formatach. Na przykład new X509Certificate2(data)
załadowano certyfikat z byte[]
o nazwie data
. data
może być jednym z dowolnego obsługiwanego formatu, w tym X.509, PKCS7 lub PKCS12/PFX.
Chociaż ta metoda była łatwa w użyciu, spowodowała problemy polegające na tym, że dane dostarczone przez użytkownika były przekazywane w innym formacie niż zamierzone. Może to umożliwić ładowanie PKCS12, w którym ładowana była tylko zawartość X.509. Może też spowodować problemy ze współdziałaniem z obsługi danych na różne sposoby.
Zalecana akcja
Aby uzyskać obejścia, zobacz Obejście.
Dotyczy interfejsów API
W przypadku interfejsów API, których dotyczy problem, zobacz SYSLIB0057.