Dela via


Vissa X509Certificate2- och X509Certificate-konstruktorer är föråldrade

Konstruktorerna på X509Certificate och X509Certificate2 som accepterar innehåll som en byte[], ReadOnlySpan<byte>eller en string filsökväg är föråldrade, med början i .NET 9. Metoderna Import på X509Certificate2Collection är också föråldrade. Att anropa dem i kod genererar en varning SYSLIB0057 vid kompileringstillfället.

Tidigare beteende

Utvecklare kan använda de berörda API:erna utan en föråldrad varning.

Nytt beteende

Berörda API:er får en föråldrad kompileringsvarning med ID SYSLIB0057.

Version introducerad

Förhandsversion 7 av .NET 9

Typ av icke-bakåtkompatibel ändring

Den här ändringen kan påverka källkompatibiliteten.

Orsak till ändringen

De berörda API:erna som stöds för inläsning av certifikat i flera format. Till exempel new X509Certificate2(data) lästes ett certifikat från ett byte[] med namnet data. data kan vara ett av alla format som stöds, inklusive X.509, PKCS7 eller PKCS12/PFX.

Även om den här metoden var lätt att använda skapade den problem där användarangivna data skickades med ett annat format än avsett. Detta kan tillåta inläsning av PKCS12 där endast X.509-innehåll var avsett att läsas in. Eller så kan det skapa samverkansproblem från hantering av data på olika sätt.

Lösningar finns i Lösning.

Berörda API:er

Information om berörda API:er finns i SYSLIB0057.