[gnutls-devel] GnuTLS | With TLS 1.3 enabled, gnutls_handshake() succeeds in client when client fails to send required certificate (#615)
Development of GNU's TLS library
gnutls-devel at lists.gnutls.org
Sun Nov 11 19:50:34 CET 2018
Aha. Unfortunately, there is not much we can do for that. The TLS1.3 handshake is:
```
Client Server
Key ^ ClientHello
Exch | + key_share*
| + signature_algorithms*
| + psk_key_exchange_modes*
v + pre_shared_key* -------->
ServerHello ^ Key
+ key_share* | Exch
+ pre_shared_key* v
{EncryptedExtensions} ^ Server
{CertificateRequest*} v Params
{Certificate*} ^
{CertificateVerify*} | Auth
{Finished} v
<-------- [Application Data*]
^ {Certificate*}
Auth | {CertificateVerify*}
v {Finished} -------->
[Application Data] <-------> [Application Data]
```
meaning that the client has seen the client finished before he sends his certificate. That is, the server has no way to indicate rejection of the session due to certificate in the normal handshake, thus `gnutls_handshake()` for the client will not see that error.
--
Reply to this email directly or view it on GitLab: https://gitlab.com/gnutls/gnutls/issues/615#note_116321087
You're receiving this email because of your account on gitlab.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.gnupg.org/pipermail/gnutls-devel/attachments/20181111/b5845afc/attachment.html>
More information about the Gnutls-devel
mailing list