Skip to content
  1. Oct 02, 2018
  2. Sep 26, 2018
  3. Sep 24, 2018
  4. Sep 21, 2018
  5. Sep 20, 2018
    • Dr. Matthias St. Pierre's avatar
      drbg_get_entropy: force a reseed before calling ssleay_rand_bytes() · f58001c3
      Dr. Matthias St. Pierre authored
      Fixes #7240
      
      In FIPS mode, the default FIPS DRBG uses the drbg_get_entropy()
      callback to reseed itself, which is provided by the wrapping
      libcrypto library. This callback in turn uses ssleay_rand_bytes()
      to generate random bytes.
      
      Now ssleay_rand_bytes() calls RAND_poll() once on first call to
      seed itself, but RAND_poll() is never called again (unless the
      application calls RAND_poll() explicitely). This implies that
      whenever the DRBG reseeds itself (which happens every 2^14
      generate requests) this happens without obtaining fresh random
      data from the operating system's entropy sources.
      
      This patch forces a reseed from system entropy sources on every
      call to drbg_get_entropy(). In contrary to the automatic reseeding
      of the DRBG in master, this reseeding does not break applications
      running in a chroot() environment (see c7504aeb
      
      ), because the
      SSLEAY PRNG does not maintain an error state. (It does not even
      check the return value of RAND_poll() on its instantiation.)
      
      In the worst case, if no random device is available for reseeding,
      no fresh entropy will be added to the SSLEAY PRNG but it will happily
      continue to generate random bytes as 'entropy' input for the DRBG's
      reseeding, which is just as good (or bad) as before this patch.
      
      To prevent ssleay_rand_bytes_from_system() (and hence RAND_poll())
      from being called twice during instantiation, a separate
      drbg_get_nonce() callback has been introduced, which is identical
      with the previous implementation of drbg_get_entropy().
      
      Reviewed-by: default avatarPaul Dale <paul.dale@oracle.com>
      Reviewed-by: default avatarBen Kaduk <kaduk@mit.edu>
      (Merged from https://github.com/openssl/openssl/pull/7259)
      f58001c3
    • Richard Levitte's avatar
      crypto/ui/ui_openssl.c: make sure to recognise ENXIO and EIO too · 79951b1d
      Richard Levitte authored
      
      
      These both indicate that the file descriptor we're trying to use as a
      terminal isn't, in fact, a terminal.
      
      Fixes #7271
      
      Reviewed-by: default avatarMatthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
      (Merged from https://github.com/openssl/openssl/pull/7272)
      
      (cherry picked from commit 276bf862)
      (cherry picked from commit ad173035)
      79951b1d
  6. Sep 11, 2018
  7. Sep 10, 2018
  8. Sep 04, 2018
  9. Sep 03, 2018
  10. Sep 02, 2018
  11. Aug 28, 2018
  12. Aug 27, 2018
  13. Aug 17, 2018
  14. Aug 14, 2018
  15. Aug 11, 2018
  16. Aug 10, 2018
  17. Aug 07, 2018
  18. Aug 01, 2018