1. 31 10月, 2017 1 次提交
  2. 30 10月, 2017 2 次提交
  3. 18 10月, 2017 1 次提交
    • D
      Fix reseeding issues of the public RAND_DRBG · c16de9d8
      Dr. Matthias St. Pierre 提交于
      Reseeding is handled very differently by the classic RAND_METHOD API
      and the new RAND_DRBG api. These differences led to some problems when
      the new RAND_DRBG was made the default OpenSSL RNG. In particular,
      RAND_add() did not work as expected anymore. These issues are discussed
      on the thread '[openssl-dev] Plea for a new public OpenSSL RNG API'
      and in Pull Request #4328. This commit fixes the mentioned issues,
      introducing the following changes:
      
      - Replace the fixed size RAND_BYTES_BUFFER by a new RAND_POOL API which
        facilitates collecting entropy by the get_entropy() callback.
      - Don't use RAND_poll()/RAND_add() for collecting entropy from the
        get_entropy() callback anymore. Instead, replace RAND_poll() by
        RAND_POOL_acquire_entropy().
      - Add a new function rand_drbg_restart() which tries to get the DRBG
        in an instantiated state by all means, regardless of the current
        state (uninstantiated, error, ...) the DRBG is in. If the caller
        provides entropy or additional input, it will be used for reseeding.
      - Restore the original documented behaviour of RAND_add() and RAND_poll()
        (namely to reseed the DRBG immediately) by a new implementation based
        on rand_drbg_restart().
      - Add automatic error recovery from temporary failures of the entropy
        source to RAND_DRBG_generate() using the rand_drbg_restart() function.
      Reviewed-by: NPaul Dale <paul.dale@oracle.com>
      Reviewed-by: NKurt Roeckx <kurt@roeckx.be>
      Reviewed-by: NRich Salz <rsalz@openssl.org>
      Reviewed-by: NBen Kaduk <kaduk@mit.edu>
      (Merged from https://github.com/openssl/openssl/pull/4328)
      c16de9d8
  4. 16 10月, 2017 3 次提交
  5. 12 10月, 2017 4 次提交
  6. 11 10月, 2017 1 次提交
  7. 04 10月, 2017 1 次提交
    • T
      Session resume broken switching contexts · a84e5c9a
      Todd Short 提交于
      When an SSL's context is swtiched from a ticket-enabled context to
      a ticket-disabled context in the servername callback, no session-id
      is generated, so the session can't be resumed.
      
      If a servername callback changes the SSL_OP_NO_TICKET option, check
      to see if it's changed to disable, and whether a session ticket is
      expected (i.e. the client indicated ticket support and the SSL had
      tickets enabled at the time), and whether we already have a previous
      session (i.e. s->hit is set).
      
      In this case, clear the ticket-expected flag, remove any ticket data
      and generate a session-id in the session.
      
      If the SSL hit (resumed) and switched to a ticket-disabled context,
      assume that the resumption was via session-id, and don't bother to
      update the session.
      
      Before this fix, the updated unit-tests in 06-sni-ticket.conf would
      fail test #4 (server1 = SNI, server2 = no SNI).
      Reviewed-by: NRich Salz <rsalz@openssl.org>
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      Reviewed-by: NMatt Caswell <matt@openssl.org>
      Reviewed-by: NPaul Dale <paul.dale@oracle.com>
      (Merged from https://github.com/openssl/openssl/pull/1529)
      a84e5c9a
  8. 28 9月, 2017 1 次提交
  9. 26 9月, 2017 1 次提交
  10. 23 9月, 2017 1 次提交
    • D
      Guard against DoS in name constraints handling. · 8545051c
      David Benjamin 提交于
      This guards against the name constraints check consuming large amounts
      of CPU time when certificates in the presented chain contain an
      excessive number of names (specifically subject email names or subject
      alternative DNS names) and/or name constraints.
      
      Name constraints checking compares the names presented in a certificate
      against the name constraints included in a certificate higher up in the
      chain using two nested for loops.
      
      Move the name constraints check so that it happens after signature
      verification so peers cannot exploit this using a chain with invalid
      signatures. Also impose a hard limit on the number of name constraints
      check loop iterations to further mitigate the issue.
      
      Thanks to NCC for finding this issue. Fix written by Martin Kreichgauer.
      Reviewed-by: NRich Salz <rsalz@openssl.org>
      Reviewed-by: NAndy Polyakov <appro@openssl.org>
      (Merged from https://github.com/openssl/openssl/pull/4393)
      8545051c
  11. 20 9月, 2017 2 次提交
  12. 14 9月, 2017 2 次提交
  13. 09 9月, 2017 3 次提交
  14. 08 9月, 2017 1 次提交
  15. 06 9月, 2017 1 次提交
  16. 04 9月, 2017 3 次提交
  17. 03 9月, 2017 2 次提交
  18. 02 9月, 2017 2 次提交
  19. 01 9月, 2017 1 次提交
  20. 31 8月, 2017 5 次提交
  21. 30 8月, 2017 2 次提交