SYSLIB0042 : FromXmlString et ToXmlString sur les types ECC sont obsolètes
Les méthodes FromXmlString
et ToXmlString
qui se trouvent sur des types de chiffrement de courbe elliptique (ECC) sont obsolètes, à compter de .NET 7. Leur utilisation dans le code génère un avertissement SYSLIB0042
au moment de la compilation. Ils n’ont jamais été implémentés et ont toujours levé une exception PlatformNotSupportedException. L’obsolescence affecte les méthodes suivantes :
- ECDiffieHellmanCng.FromXmlString(String, ECKeyXmlFormat)
- ECDiffieHellmanCng.ToXmlString(ECKeyXmlFormat)
- ECDiffieHellmanCngPublicKey.FromXmlString(String)
- ECDiffieHellmanCngPublicKey.ToXmlString()
- ECDiffieHellmanPublicKey.ToXmlString()
- ECDsaCng.FromXmlString(String, ECKeyXmlFormat)
- ECDsaCng.ToXmlString(ECKeyXmlFormat)
Solution de contournement
Utilisez un format de données standard pour échanger des clés de courbe elliptique (EC).
Au lieu de ToXmlString
, utilisez ExportSubjectPublicKeyInfo
ou ExportPkcs8PrivateKey
selon que vous voulez la clé publique ou privée.
Au lieu de FromXmlString
, utilisez ImportSubjectPublicKeyInfo
ou ImportPkcs8PrivateKey
selon que vous voulez la clé publique ou privée.
Supprimer un avertissement
Si vous devez utiliser les API obsolètes, vous pouvez supprimer l’avertissement dans le code ou dans votre fichier projet.
Pour supprimer une seule violation, ajoutez des directives de préprocesseur à votre fichier source pour désactiver, puis réactiver l’avertissement.
// Disable the warning.
#pragma warning disable SYSLIB0042
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0042
Pour supprimer tous les avertissements SYSLIB0042
dans votre projet, ajoutez une propriété <NoWarn>
à votre fichier projet.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0042</NoWarn>
</PropertyGroup>
</Project>
Pour plus d’informations, consultez Supprimer des avertissements.