Попытка подключить программу swift, работающую на macos, к серверу mysql с использованием tls 1.2 с использованием следующего кода:
let options = NWProtocolTLS.Options()
sec_protocol_options_set_min_tls_protocol_version(options.securityProtocolOptions, .TLSv12)
sec_protocol_options_set_max_tls_protocol_version(options.securityProtocolOptions, .TLSv12)
let params = NWParameters(tls: options)
self.connection = NWConnection(host: self.host, port: self.port, using: params)
self.connection.stateUpdateHandler = self.didChange(state:)
self.startReceive()
self.connection.start(queue: .main)
Приводит к этой ошибке:
2020-02- 23 20: 52: 33.697486-0500 MacNetworkSQL [80612: 4731202] [BoringSSL] boringssl_context_handle_fatal_alert (1872) [C1: 1] [0x101e003a0] предупреждение о записи, уровень: фатальный, описание: версия протокола 2020-02-23 20: 52: 33.697578 -0500 MacNetworkSQL [80612: 4731202] [BoringSSL] boringssl_context_error_print (1862) boringssl ctx 0x600000024000: 4391437704: ошибка: 100000f7: подпрограммы SSL: OPENSSL_internal: WRONG_VERSION_Nssbor.xl. -283.60.3 / ssl / tls_record. cc: 242: 2020-02-23 20: 52: 33.700128-0500 MacNetworkSQL [80612: 4731202] [BoringSSL] boringssl_session_handshake_error_print (111) [C1: 1] [0x101e003a0] 439 Ошибка: 100000f7: процедуры SSL: OPENSSL_internal: WRONG_VERSION_NUMBER: /BuildRoot/Library/Caches/com.apple.xbs/Sources/boringssl/boringssl-283.60.3/ssl/tls_record.cc : 242: 2020-02-23 20: 52: 33.700179-0500 MacNetworkSQL [80612: 4731202] [BoringSSL] nw_protocol_boringssl_handshake_negotiate_proceed (726) [C1: 1] [0x101e003a0] сбой рукопожатия в состоянии 12288 2020-02-23 20:52: 33.701183-0500 MacNetworkSQL [80612: 4730608] ожидает: -9858: Необязательно (сбой рукопожатия)
Глядя на захват клиента при помощи проволочной акулы, я вижу следующее:
Я посмотрел на результаты Wireshark от успешных подключений к mysql, и я вижу версию, сообщенную как 1.2 в обоих точках. Так что я должен что-то делать не так, но что?
РЕДАКТИРОВАТЬ: кажется, что set_min и set_max вообще ничего не делают. Я могу установить их оба на 1,3 или удалить их полностью, и я все еще получаю 1,0 и 1,2 в захвате пакета.