My app implements httpclient with nsurlsession. when app tried to communicate with server which use an ed25519-signed certificate,it failed at tls client hello (handshake failed).
captured in xcode
2021-02-19 20:05:32.895350+0800 app[1915:295071] [boringssl] boringssl_context_handle_fatal_alert(1763) [C1:2][0x1229fea70] read alert, level: fatal, description: handshake failure
2021-02-19 20:05:32.915327+0800 app[1915:295071] [boringssl] boringssl_session_handshake_incomplete(90) [C1:2][0x1229fea70] SSL library error
2021-02-19 20:05:32.915660+0800 app[1915:295071] [boringssl] boringssl_session_handshake_error_print(41) [C1:2][0x1229fea70] Error: 4943533208:error:10000410:SSL routines:OPENSSL_internal:SSLV3_ALERT_HANDSHAKE_FAILURE:/Library/Caches/com.apple.xbs/Sources/boringssl/boringssl-351.40.2/ssl/tls_record.cc:592:SSL alert number 40
2021-02-19 20:05:32.915925+0800 app[1915:295071] [boringssl] boringssl_session_handshake_error_print(41) [C1:2][0x1229fea70] Error: 4943533208:error:1000009a:SSL routines:OPENSSL_internal:HANDSHAKE_FAILURE_ON_CLIENT_HELLO:/Library/Caches/com.apple.xbs/Sources/boringssl/boringssl-351.40.2/ssl/handshake.cc:604:
2021-02-19 20:05:32.916085+0800 app[1915:295071] [boringssl] nw_protocol_boringssl_handshake_negotiate_proceed(767) [C1:2][0x1229fea70] handshake failed at state 12288: not completed
it seems like there is no ed25519 in the signature algorithms extension section in the client hello message.
here shows captured signature algorithms in extension from ios 14.2
ECDSA with SHA-256
RSASSA-PSS with SHA-256
RSASSA-PKCS1-v1_5 with SHA-256
ECDSA with SHA-384
ECDSA with SHA-1
RSASSA-PSS with SHA-384
RSASSA-PSS with SHA-384
RSASSA-PKCS1-v1_5 with SHA-384
RSASSA-PSS with SHA-512
RSASSA-PKCS1-v1_5 with SHA-512
RSASSA-PKCS1-v1_5 with SHA-1
how can I fix it ?
how can my app transport data with a server using a ed25519-signed certificate