1. 24 5月, 2018 1 次提交
  2. 10 5月, 2018 1 次提交
  3. 08 5月, 2018 1 次提交
  4. 03 5月, 2018 1 次提交
  5. 31 3月, 2018 1 次提交
  6. 23 3月, 2018 1 次提交
  7. 22 3月, 2018 1 次提交
  8. 20 3月, 2018 1 次提交
  9. 19 3月, 2018 3 次提交
  10. 08 3月, 2018 1 次提交
    • B
      Fix issues in ia32 RDRAND asm leading to reduced entropy · 082193ef
      Bryan Donlan 提交于
      This patch fixes two issues in the ia32 RDRAND assembly code that result in a
      (possibly significant) loss of entropy.
      
      The first, less significant, issue is that, by returning success as 0 from
      OPENSSL_ia32_rdrand() and OPENSSL_ia32_rdseed(), a subtle bias was introduced.
      Specifically, because the assembly routine copied the remaining number of
      retries over the result when RDRAND/RDSEED returned 'successful but zero', a
      bias towards values 1-8 (primarily 8) was introduced.
      
      The second, more worrying issue was that, due to a mixup in registers, when a
      buffer that was not size 0 or 1 mod 8 was passed to OPENSSL_ia32_rdrand_bytes
      or OPENSSL_ia32_rdseed_bytes, the last (n mod 8) bytes were all the same value.
      This issue impacts only the 64-bit variant of the assembly.
      
      This change fixes both issues by first eliminating the only use of
      OPENSSL_ia32_rdrand, replacing it with OPENSSL_ia32_rdrand_bytes, and fixes the
      register mixup in OPENSSL_ia32_rdrand_bytes. It also adds a sanity test for
      OPENSSL_ia32_rdrand_bytes and OPENSSL_ia32_rdseed_bytes to help catch problems
      of this nature in the future.
      Reviewed-by: NAndy Polyakov <appro@openssl.org>
      Reviewed-by: NRich Salz <rsalz@openssl.org>
      (Merged from https://github.com/openssl/openssl/pull/5342)
      082193ef
  11. 05 3月, 2018 1 次提交
  12. 21 2月, 2018 1 次提交
  13. 20 2月, 2018 1 次提交
  14. 02 2月, 2018 1 次提交
    • T
      Add TLSv1.3 post-handshake authentication (PHA) · 9d75dce3
      Todd Short 提交于
      Add SSL_verify_client_post_handshake() for servers to initiate PHA
      
      Add SSL_force_post_handshake_auth() for clients that don't have certificates
      initially configured, but use a certificate callback.
      
      Update SSL_CTX_set_verify()/SSL_set_verify() mode:
      
      * Add SSL_VERIFY_POST_HANDSHAKE to postpone client authentication until after
      the initial handshake.
      
      * Update SSL_VERIFY_CLIENT_ONCE now only sends out one CertRequest regardless
      of when the certificate authentication takes place; either initial handshake,
      re-negotiation, or post-handshake authentication.
      
      Add 'RequestPostHandshake' and 'RequirePostHandshake' SSL_CONF options that
      add the SSL_VERIFY_POST_HANDSHAKE to the 'Request' and 'Require' options
      
      Add support to s_client:
      * Enabled automatically when cert is configured
      * Can be forced enabled via -force_pha
      
      Add support to s_server:
      * Use 'c' to invoke PHA in s_server
      * Remove some dead code
      
      Update documentation
      
      Update unit tests:
      * Illegal use of PHA extension
      * TLSv1.3 certificate tests
      
      DTLS and TLS behave ever-so-slightly differently. So, when DTLS1.3 is
      implemented, it's PHA support state machine may need to be different.
      Add a TODO and a #error
      
      Update handshake context to deal with PHA.
      
      The handshake context for TLSv1.3 post-handshake auth is up through the
      ClientFinish message, plus the CertificateRequest message. Subsequent
      Certificate, CertificateVerify, and Finish messages are based on this
      handshake context (not the Certificate message per se, but it's included
      after the hash). KeyUpdate, NewSessionTicket, and prior Certificate
      Request messages are not included in post-handshake authentication.
      
      After the ClientFinished message is processed, save off the digest state
      for future post-handshake authentication. When post-handshake auth occurs,
      copy over the saved handshake context into the "main" handshake digest.
      This effectively discards the any KeyUpdate or NewSessionTicket messages
      and any prior post-handshake authentication.
      
      This, of course, assumes that the ID-22 did not mean to include any
      previous post-handshake authentication into the new handshake transcript.
      This is implied by section 4.4.1 that lists messages only up to the
      first ClientFinished.
      Reviewed-by: NBen Kaduk <kaduk@mit.edu>
      Reviewed-by: NMatt Caswell <matt@openssl.org>
      (Merged from https://github.com/openssl/openssl/pull/4964)
      9d75dce3
  15. 01 2月, 2018 1 次提交
  16. 24 1月, 2018 1 次提交
  17. 22 1月, 2018 1 次提交
  18. 14 12月, 2017 1 次提交
  19. 06 12月, 2017 1 次提交
  20. 21 11月, 2017 1 次提交
    • P
      Support multi-prime RSA (RFC 8017) · 665d899f
      Paul Yang 提交于
      * Introduce RSA_generate_multi_prime_key to generate multi-prime
        RSA private key. As well as the following functions:
          RSA_get_multi_prime_extra_count
          RSA_get0_multi_prime_factors
          RSA_get0_multi_prime_crt_params
          RSA_set0_multi_prime_params
          RSA_get_version
      * Support EVP operations for multi-prime RSA
      * Support ASN.1 operations for multi-prime RSA
      * Support multi-prime check in RSA_check_key_ex
      * Support multi-prime RSA in apps/genrsa and apps/speed
      * Support multi-prime RSA manipulation functions
      * Test cases and documentation are added
      * CHANGES is updated
      Reviewed-by: NTim Hudson <tjh@openssl.org>
      Reviewed-by: NBernd Edlinger <bernd.edlinger@hotmail.de>
      (Merged from https://github.com/openssl/openssl/pull/4241)
      665d899f
  21. 12 11月, 2017 2 次提交
  22. 31 10月, 2017 1 次提交
  23. 14 9月, 2017 1 次提交
  24. 22 8月, 2017 1 次提交
    • P
      This has been added to avoid the situation where some host ctype.h functions · a1df06b3
      Pauli 提交于
      return true for characters > 127.  I.e. they are allowing extended ASCII
      characters through which then cause problems.  E.g. marking superscript '2' as
      a number then causes the common (ch - '0') conversion to number to fail
      miserably.  Likewise letters with diacritical marks can also cause problems.
      
      If a non-ASCII character set is being used (currently only EBCDIC), it is
      adjusted for.
      
      The implementation uses a single table with a bit for each of the defined
      classes.  These functions accept an int argument and fail for
      values out of range or for characters outside of the ASCII set.  They will
      work for both signed and unsigned character inputs.
      Reviewed-by: NAndy Polyakov <appro@openssl.org>
      (Merged from https://github.com/openssl/openssl/pull/4102)
      a1df06b3
  25. 15 8月, 2017 1 次提交
  26. 08 8月, 2017 1 次提交
  27. 04 8月, 2017 1 次提交
  28. 03 8月, 2017 1 次提交
    • 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
  29. 28 7月, 2017 2 次提交
  30. 27 7月, 2017 2 次提交
  31. 26 7月, 2017 1 次提交
  32. 21 7月, 2017 1 次提交
  33. 19 7月, 2017 1 次提交
  34. 13 7月, 2017 1 次提交
  35. 28 6月, 2017 1 次提交