Использование TcpClient с TLS1.2 и получение ошибки аутентификации SSL: Mono.Security.Interface.TlsException: неизвестная ошибка безопасного транспорта - PullRequest
0 голосов
/ 29 октября 2019

Я использую TcpClient с TLS1.2 и иногда при попытке записать или аутентифицировать поток я получаю следующую ошибку SSLAuthentication:

Mono.Security.Interface.TlsException: Неизвестная ошибка безопасного транспорта `ClosedGraceful. в Mono.AppleTls.AppleTlsContext.CheckStatusAndThrow (статус Mono.AppleTls.SslStatus, допустимый Mono.AppleTls.SslStatus []) [0x000c1] в / Users / builder / jenkins / workspace / xamarin-macios / xamarin-macios / xamarmcs / class / System / Mono.AppleTls / AppleTlsContext.cs: 123

Я не получаю исключение каждый раз, кажется, что это происходит случайно, особенно на iOS 13, и я могу получить его, когда:

1) при попытке аутентификации клиента: sslStream.AuthenticateAsClient(this.Host, null, sslProtocols, true);

2) При попытке записать await sslStream.WriteAsync(writedata, 0, writedata.Length); в уже аутентифицированный поток (где IsAuthenticated вернул true ранее!)

Я предполагаю, что реализацией TLS по умолчанию является Apple (не уверен), но я не могу переключиться на реализацию Mono TLS, так как это более старая версия TLS, которая не совместима с PCI, как предлагается здесь Исключение TLS. Неизвестная ошибка безопасного транспорта «Closed Graceful»

Любая помощь приветствуется.

...