Маркер, возвращаемый из System.Web.HttpRequest.TlsTokenBindingInfo, неверен при использовании платформы .NET Framework 4.6

Применяется к
.NET Framework 4.6.2

Проблема

Предположим, что у вас есть сервер, работающий под управлением Windows 10, и вы используете System.Web.HttpRequest.TlsTokenBindingInfo для получения удостоверения пользователя. Если пользователь перенаправляется на сервер с другого сервера, также можно получить маркер, предоставленный пользователем серверу перенаправления в качестве идентификатора привязки указанного маркера. Этот идентификатор привязки маркера помогает идентифицировать пользователя на сервере перенаправления. Однако в этой ситуации вы не сможете найти пользователя на сервере перенаправления с помощью идентификатора привязки маркера, указанного пользователем.

Причина

Эта проблема возникает из-за того, что идентификатор привязки маркера, возвращаемый System.Web.HttpRequest.TlsTokenBindingInfo, включает тип маркера, а некоторые другие реализации могут удалить тип маркера.

Решение

Чтобы обойти эту проблему, пропустите первый байт массивов байтов в ITlsTokenBindingInfo и используйте остальные массивы байтов в качестве удостоверения пользователя. 

Примечание. В будущих выпусках платформы .NET Framework (более поздних, чем платформа .NET Framework 4.6) не требуется пропускать первый байт, так как в будущем API может быть изменен, и он удалит первый байт.

Дополнительные сведения об известных проблемах в .NET Framework 4.6 см. в разделе «Известные проблемы в .NET Framework 4.6».

Дополнительные сведения

Дополнительные сведения об изменениях в управлении версиями продуктов и их влиянии на .NET Framework 4.6 см. в статье Совместимость приложений в .NET Framework 4.6.