1. 05 8月, 2017 1 次提交
  2. 03 8月, 2017 2 次提交
    • R
      Add RAND_priv_bytes() for private keys · ddc6a5c8
      Rich Salz 提交于
      Add a new global DRBG for private keys used by RAND_priv_bytes.
      
      Add BN_priv_rand() and BN_priv_rand_range() which use RAND_priv_bytes().
      Change callers to use the appropriate BN_priv... function.
      Reviewed-by: NPaul Dale <paul.dale@oracle.com>
      (Merged from https://github.com/openssl/openssl/pull/4076)
      ddc6a5c8
    • R
      Switch from ossl_rand to DRBG rand · 75e2c877
      Rich Salz 提交于
      If RAND_add wraps around, XOR with existing. Add test to drbgtest that
      does the wrap-around.
      
      Re-order seeding and stop after first success.
      
      Add RAND_poll_ex()
      
      Use the DF and therefore lower RANDOMNESS_NEEDED.  Also, for child DRBG's,
      mix in the address as the personalization bits.
      
      Centralize the entropy callbacks, from drbg_lib to rand_lib.
      (Conceptually, entropy is part of the enclosing application.)
      Thanks to Dr. Matthias St Pierre for the suggestion.
      
      Various code cleanups:
          -Make state an enum; inline RANDerr calls.
          -Add RAND_POLL_RETRIES (thanks Pauli for the idea)
          -Remove most RAND_seed calls from rest of library
          -Rename DRBG_CTX to RAND_DRBG, etc.
          -Move some code from drbg_lib to drbg_rand; drbg_lib is now only the
           implementation of NIST DRBG.
          -Remove blocklength
      Reviewed-by: NPaul Dale <paul.dale@oracle.com>
      (Merged from https://github.com/openssl/openssl/pull/4019)
      75e2c877
  3. 23 7月, 2017 1 次提交
    • R
      Add --with-rand-seed · 8389ec4b
      Rich Salz 提交于
      Add a new config param to specify how the CSPRNG should be seeded.
      Illegal values or nonsensical combinations (e.g., anything other
      than "os" on VMS or HP VOS etc) result in build failures.
      Add RDSEED support.
      Add RDTSC but leave it disabled for now pending more investigation.
      
      Refactor and reorganization all seeding files (rand_unix/win/vms) so
      that they are simpler.
      
      Only require 128 bits of seeding material.
      
      Many document improvements, including why to not use RAND_add() and the
      limitations around using load_file/write_file.
      Document RAND_poll().
      
      Cleanup Windows RAND_poll and return correct status
      
      More completely initialize the default DRBG.
      Reviewed-by: NPaul Dale <paul.dale@oracle.com>
      (Merged from https://github.com/openssl/openssl/pull/3965)
      8389ec4b
  4. 20 7月, 2017 1 次提交
  5. 19 7月, 2017 1 次提交
  6. 15 7月, 2017 1 次提交
    • R
      Start to overhaul RAND API · da8fc25a
      Rich Salz 提交于
      Remove unused rand_hw_xor, MD/EVP indirection
      Make rand_pseudo same as rand.
      Cleanup formatting and ifdef control
      Rename some things:
          - rand_meth to openssl_rand_meth; make it global
          - source file
          - lock/init functions, start per-thread state
          - ossl_meth_init to ossl_rand_init
      Put state into RAND_STATE structure
      And put OSSL_RAND_STATE into ossl_typ.h
      Use "randomness" instead of "entropy"
      Reviewed-by: NBen Kaduk <kaduk@mit.edu>
      (Merged from https://github.com/openssl/openssl/pull/3758)
      da8fc25a
  7. 20 6月, 2017 1 次提交
  8. 10 4月, 2017 1 次提交
  9. 07 4月, 2017 2 次提交
  10. 06 4月, 2017 1 次提交
  11. 28 2月, 2017 1 次提交
    • E
      Clean up references to FIPS · b53338cb
      Emilia Kasper 提交于
      This removes the fips configure option. This option is broken as the
      required FIPS code is not available.
      
      FIPS_mode() and FIPS_mode_set() are retained for compatibility, but
      FIPS_mode() always returns 0, and FIPS_mode_set() can only be used to
      turn FIPS mode off.
      Reviewed-by: NStephen Henson <steve@openssl.org>
      b53338cb
  12. 18 5月, 2016 1 次提交
  13. 13 4月, 2016 3 次提交
  14. 21 3月, 2016 1 次提交
  15. 26 2月, 2016 1 次提交
  16. 27 1月, 2016 1 次提交
    • R
      Remove /* foo.c */ comments · 34980760
      Rich Salz 提交于
      This was done by the following
              find . -name '*.[ch]' | /tmp/pl
      where /tmp/pl is the following three-line script:
              print unless $. == 1 && m@/\* .*\.[ch] \*/@;
              close ARGV if eof; # Close file to reset $.
      
      And then some hand-editing of other files.
      Reviewed-by: NViktor Dukhovni <viktor@openssl.org>
      34980760
  17. 08 1月, 2016 1 次提交
  18. 07 1月, 2016 1 次提交
  19. 10 11月, 2015 1 次提交
  20. 31 10月, 2015 1 次提交
  21. 14 5月, 2015 1 次提交
  22. 01 5月, 2015 1 次提交
    • R
      free cleanup almost the finale · 4b45c6e5
      Rich Salz 提交于
      Add OPENSSL_clear_free which merges cleanse and free.
      (Names was picked to be similar to BN_clear_free, etc.)
      Removed OPENSSL_freeFunc macro.
      Fixed the small simple ones that are left:
              CRYPTO_free CRYPTO_free_locked OPENSSL_free_locked
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      4b45c6e5
  23. 25 3月, 2015 1 次提交
    • M
      Deprecate RAND_pseudo_bytes · 302d38e3
      Matt Caswell 提交于
      The justification for RAND_pseudo_bytes is somewhat dubious, and the reality
      is that it is frequently being misused. RAND_bytes and RAND_pseudo_bytes in
      the default implementation both end up calling ssleay_rand_bytes. Both may
      return -1 in an error condition. If there is insufficient entropy then
      both will return 0, but RAND_bytes will additionally add an error to the
      error queue. They both return 1 on success.
      Therefore the fundamental difference between the two is that one will add an
      error to the error queue with insufficient entory whilst the other will not.
      Frequently there are constructions of this form:
      
      if(RAND_pseudo_bytes(...) <= 1)
      	goto err;
      
      In the above form insufficient entropy is treated as an error anyway, so
      RAND_bytes is probably the better form to use.
      
      This form is also seen:
      if(!RAND_pseudo_bytes(...))
      	goto err;
      
      This is technically not correct at all since a -1 return value is
      incorrectly handled - but this form will also treat insufficient entropy as
      an error.
      
      Within libssl it is required that you have correctly seeded your entropy
      pool and so there seems little benefit in using RAND_pseudo_bytes.
      Similarly in libcrypto many operations also require a correctly seeded
      entropy pool and so in most interesting cases you would be better off
      using RAND_bytes anyway. There is a significant risk of RAND_pseudo_bytes
      being incorrectly used in scenarios where security can be compromised by
      insufficient entropy.
      
      If you are not using the default implementation, then most engines use the
      same function to implement RAND_bytes and RAND_pseudo_bytes in any case.
      
      Given its misuse, limited benefit, and potential to compromise security,
      RAND_pseudo_bytes has been deprecated.
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      302d38e3
  24. 22 1月, 2015 1 次提交
  25. 11 1月, 2014 1 次提交
  26. 23 8月, 2012 1 次提交
    • D
      PR: 2786 · 0db17852
      Dr. Stephen Henson 提交于
      Reported by: Tomas Mraz <tmraz@redhat.com>
      
      Treat a NULL value passed to drbg_free_entropy callback as non-op. This
      can happen if the call to fips_get_entropy fails.
      0db17852
  27. 22 6月, 2011 1 次提交
  28. 24 4月, 2011 2 次提交
  29. 21 4月, 2011 1 次提交
  30. 07 4月, 2011 1 次提交
  31. 05 4月, 2011 1 次提交
  32. 26 1月, 2011 1 次提交
  33. 12 11月, 2008 1 次提交
  34. 02 11月, 2008 1 次提交
  35. 24 9月, 2007 1 次提交