某些 X509Certificate2 和 X509Certificate 构造函数已过时
从 .NET 9 开始,X509Certificate 和 X509Certificate2 上接受内容为 byte[]
、ReadOnlySpan<byte>
或 string
文件路径的构造函数已过时。 X509Certificate2Collection 上的 Import 方法也已过时。 在代码中调用这些方法会在编译时生成警告 SYSLIB0057
。
旧行为
开发人员可以使用受影响的 API,而不会收到过时警告。
新行为
受影响的 API 将收到 ID 为 SYSLIB0057 的过时编译警告。
引入的版本
.NET 9 预览版 7
中断性变更的类型
此项更改可能会影响源兼容性。
更改原因
受影响的 API 支持加载多种格式的证书。 例如,new X509Certificate2(data)
从名为 data
的 byte[]
加载证书。 data
可以是任何一种受支持的格式,包括 X.509、PKCS7 或 PKCS12/PFX。
虽然此方法易于使用,但当用户提供的数据以不同于预期的格式传递时,就会产生问题。 这可能会导致在只打算加载 X.509 内容的情况下加载 PKCS12。 或者,以不同的方式处理数据可能会产生互操作性问题。
建议的操作
有关解决方法,请参阅解决方法。
受影响的 API
有关受影响的 API,请参阅 SYSLIB0057。