Freigeben über


Einige X509Certificate2- und X509Certificate-Konstruktoren sind veraltet

Die Konstruktoren für X509Certificate und X509Certificate2, die Inhalte als byte[], ReadOnlySpan<byte> oder string-Dateipfad akzeptieren, sind ab .NET 9 veraltet. Die Import-Methoden für X509Certificate2Collection sind ebenfalls veraltet. Wenn Sie diese im Code aufrufen, wird zur Kompilierzeit die Warnung SYSLIB0057 ausgelöst.

Vorheriges Verhalten

Entwickler können die betroffenen APIs ohne Warnung bzgl. des veralteten Zustands verwenden.

Neues Verhalten

Betroffene APIs erhalten eine Kompilierwarnung bzgl. der veralteten Konstruktoren, die die ID SYSLIB0057 hat.

Eingeführt in Version

.NET 9 Preview 7

Typ des Breaking Changes

Diese Änderung kann sich auf die Quellkompatibilität auswirken.

Grund für die Änderung

Die betroffenen APIs haben das Laden von Zertifikaten in mehreren Formaten unterstützt. new X509Certificate2(data) hat ein Zertifikat z. B. aus byte[], auch data genannt, abgerufen. data konnte eines der unterstützten Formate sein, einschließlich X.509, PKCS7 oder PKCS12/PFX.

Obwohl diese Methode einfacher anzuwenden war, führte sie zu Problemen, bei denen vom Benutzer bereitgestellte Daten in einem anderen Format als beabsichtigt übergeben wurden. Dies konnte dazu führen, dass PKCS12 geladen werden konnte, obwohl nur X.509-Inhalte geladen werden sollten. Stattdessen konnten auch Interoperabilitätsprobleme entstehen, weil die Daten auf unterschiedliche Weise behandeln wurden.

Problemumgehungen finden Sie unter Problemumgehung.

Betroffene APIs

Betroffene APIs finden Sie unter SYSLIB0057.