1. 18 6月, 2019 1 次提交
    • M
      Fix a race condition in supported groups handling · 2813852d
      Matt Caswell 提交于
      In TLSv1.3 the supported groups can be negotiated each time a handshake
      occurs, regardless of whether we are resuming or not. We should not store
      the supported groups information in the session because session objects
      can be shared between multiple threads and we can end up with race
      conditions. For most users this won't be seen because, by default, we
      use stateless tickets in TLSv1.3 which don't get shared. However if you
      use SSL_OP_NO_TICKET (to get stateful tickets in TLSv1.3) then this can
      happen.
      
      The answer is to move the supported the supported group information into
      the SSL object instead.
      Reviewed-by: NTomas Mraz <tmraz@fedoraproject.org>
      (Merged from https://github.com/openssl/openssl/pull/9176)
      2813852d
  2. 10 4月, 2019 1 次提交
  3. 05 3月, 2019 1 次提交
  4. 26 2月, 2019 1 次提交
  5. 23 2月, 2019 1 次提交
  6. 05 12月, 2018 1 次提交
  7. 14 11月, 2018 1 次提交
  8. 12 11月, 2018 2 次提交
    • M
      Separate ca_names handling for client and server · b4970e8b
      Matt Caswell 提交于
      SSL(_CTX)?_set_client_CA_list() was a server side only function in 1.1.0.
      If it was called on the client side then it was ignored. In 1.1.1 it now
      makes sense to have a CA list defined for both client and server (the
      client now sends it the the TLSv1.3 certificate_authorities extension).
      Unfortunately some applications were using the same SSL_CTX for both
      clients and servers and this resulted in some client ClientHellos being
      excessively large due to the number of certificate authorities being sent.
      
      This commit seperates out the CA list updated by
      SSL(_CTX)?_set_client_CA_list() and the more generic
      SSL(_CTX)?_set0_CA_list(). This means that SSL(_CTX)?_set_client_CA_list()
      still has no effect on the client side. If both CA lists are set then
      SSL(_CTX)?_set_client_CA_list() takes priority.
      
      Fixes #7411
      Reviewed-by: NViktor Dukhovni <viktor@openssl.org>
      (Merged from https://github.com/openssl/openssl/pull/7503)
      
      (cherry picked from commit 98732979001dbb59320803713c4c91ba40234250)
      b4970e8b
    • M
      Don't negotiate TLSv1.3 if our EC cert isn't TLSv1.3 capable · 6f54ae7a
      Matt Caswell 提交于
      TLSv1.3 is more restrictive about the curve used. There must be a matching
      sig alg defined for that curve. Therefore if we are using some other curve
      in our certificate then we should not negotiate TLSv1.3.
      
      Fixes #7435
      Reviewed-by: NViktor Dukhovni <viktor@openssl.org>
      (Merged from https://github.com/openssl/openssl/pull/7442)
      
      (cherry picked from commit de4dc598024fd0a9c2b7a466fd5323755d369522)
      6f54ae7a
  9. 15 10月, 2018 1 次提交
  10. 22 9月, 2018 1 次提交
  11. 18 9月, 2018 1 次提交
  12. 22 8月, 2018 1 次提交
  13. 20 8月, 2018 2 次提交
  14. 15 8月, 2018 1 次提交
  15. 07 8月, 2018 1 次提交
  16. 18 7月, 2018 1 次提交
  17. 14 7月, 2018 1 次提交
  18. 06 7月, 2018 1 次提交
    • M
      Introduce the recv_max_early_data setting · 4e8548e8
      Matt Caswell 提交于
      Previoulsy we just had max_early_data which controlled both the value of
      max early_data that we advertise in tickets *and* the amount of early_data
      that we are willing to receive from clients. This doesn't work too well in
      the case where we want to reduce a previously advertised max_early_data
      value. In that case clients with old, stale tickets may attempt to send us
      more early data than we are willing to receive. Instead of rejecting the
      early data we abort the connection if that happens.
      
      To avoid this we introduce a new "recv_max_early_data" value. The old
      max_early_data becomes the value that is advertised in tickets while
      recv_max_early_data is the maximum we will tolerate from clients.
      
      Fixes #6647
      Reviewed-by: NPaul Dale <paul.dale@oracle.com>
      (Merged from https://github.com/openssl/openssl/pull/6655)
      4e8548e8
  19. 02 7月, 2018 2 次提交
  20. 27 6月, 2018 1 次提交
  21. 07 6月, 2018 2 次提交
  22. 30 5月, 2018 1 次提交
  23. 17 5月, 2018 1 次提交
  24. 15 5月, 2018 1 次提交
  25. 11 5月, 2018 1 次提交
  26. 03 5月, 2018 1 次提交
  27. 18 4月, 2018 2 次提交
  28. 04 4月, 2018 1 次提交
  29. 29 3月, 2018 1 次提交
  30. 28 3月, 2018 1 次提交
  31. 22 3月, 2018 1 次提交
  32. 19 3月, 2018 3 次提交
  33. 14 3月, 2018 1 次提交
    • M
      Split configuration of TLSv1.3 ciphers from older ciphers · f865b081
      Matt Caswell 提交于
      With the current mechanism, old cipher strings that used to work in 1.1.0,
      may inadvertently disable all TLSv1.3 ciphersuites causing connections to
      fail. This is confusing for users.
      
      In reality TLSv1.3 are quite different to older ciphers. They are much
      simpler and there are only a small number of them so, arguably, they don't
      need the same level of control that the older ciphers have.
      
      This change splits the configuration of TLSv1.3 ciphers from older ones.
      By default the TLSv1.3 ciphers are on, so you cannot inadvertently disable
      them through your existing config.
      
      Fixes #5359
      Reviewed-by: NTim Hudson <tjh@openssl.org>
      (Merged from https://github.com/openssl/openssl/pull/5392)
      f865b081