从面向 .NET Framework 4.6.1 的应用开始,方法 X509CertificateClaimSet.FindClaims 将尝试将 claimType
参数与 SAN 字段中的所有 DNS 条目进行匹配。
影响
此更改仅影响目标为 .NET Framework 4.6.1 及以上版本的应用程序。
对于面向 .NET Framework 早期版本的应用,该方法 X509CertificateClaimSet.FindClaims 仅尝试将 claimType
参数与最后一个 DNS 条目匹配。
缓解措施
如果无需进行此更改,则面向从 .NET Framework 4.6.1 开始的 .NET Framework 版本的应用可通过将以下配置设置添加到应用配置文件的 <runtime> 部分来选择放弃更改:
<runtime>
<AppContextSwitchOverrides value="Switch.System.IdentityModel.DisableMultipleDNSEntriesInSANCertificate=true" />
</runtime>
此外,那些面向早期版本 .NET Framework 但运行在 .NET Framework 4.6.1 及更高版本的应用程序,可以通过在应用程序配置文件的 <runtime> 部分添加以下配置设置,以选择启用此行为:
<runtime>
<AppContextSwitchOverrides value="Switch.System.IdentityModel.DisableMultipleDNSEntriesInSANCertificate=false" />
</runtime>