1. 28 1月, 2015 1 次提交
    • R
      OPENSSL_NO_xxx cleanup: SHA · 474e469b
      Rich Salz 提交于
      Remove support for SHA0 and DSS0 (they were broken), and remove
      the ability to attempt to build without SHA (it didn't work).
      For simplicity, remove the option of not building various SHA algorithms;
      you could argue that SHA_224/256/384/512 should be kept, since they're
      like crypto algorithms, but I decided to go the other way.
      So these options are gone:
      	GENUINE_DSA         OPENSSL_NO_SHA0
      	OPENSSL_NO_SHA      OPENSSL_NO_SHA1
      	OPENSSL_NO_SHA224   OPENSSL_NO_SHA256
      	OPENSSL_NO_SHA384   OPENSSL_NO_SHA512
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      474e469b
  2. 22 1月, 2015 5 次提交
  3. 03 1月, 2015 1 次提交
  4. 31 12月, 2014 1 次提交
  5. 16 12月, 2014 2 次提交
  6. 04 12月, 2014 1 次提交
  7. 03 12月, 2014 1 次提交
  8. 28 11月, 2014 2 次提交
  9. 26 11月, 2014 1 次提交
  10. 20 11月, 2014 1 次提交
    • E
      Remove ssl3_check_finished. · 980bc1ec
      Emilia Kasper 提交于
      The client sends a session ID with the session ticket, and uses
      the returned ID to detect resumption, so we do not need to peek
      at handshake messages: s->hit tells us explicitly if we're resuming.
      
      An equivalent change was independently made in BoringSSL, see commit
      407886f589cf2dbaed82db0a44173036c3bc3317.
      Reviewed-by: NMatt Caswell <matt@openssl.org>
      980bc1ec
  11. 19 11月, 2014 1 次提交
  12. 24 10月, 2014 1 次提交
  13. 29 8月, 2014 4 次提交
    • D
      New extension callback features. · 33f653ad
      Dr. Stephen Henson 提交于
      Support separate parse and add callback arguments.
      Add new callback so an application can free extension data.
      Change return value for send functions so < 0 is an error 0
      omits extension and > 0 includes it. This is more consistent
      with the behaviour of other functions in OpenSSL.
      
      Modify parse_cb handling so <= 0 is an error.
      
      Make SSL_CTX_set_custom_cli_ext and SSL_CTX_set_custom_cli_ext argument
      order consistent.
      
      NOTE: these changes WILL break existing code.
      
      Remove (now inaccurate) in line documentation.
      Reviewed-by: NEmilia Käsper <emilia@openssl.org>
      33f653ad
    • D
      Callback revision. · de2a9e38
      Dr. Stephen Henson 提交于
      Use "parse" and "add" for function and callback names instead of
      "first" and "second".
      
      Change arguments to callback so the extension type is unsigned int
      and the buffer length is size_t. Note: this *will* break existing code.
      Reviewed-by: NEmilia Käsper <emilia@openssl.org>
      de2a9e38
    • D
      Add custom extension sanity checks. · 28ea0a0c
      Dr. Stephen Henson 提交于
      Reject attempts to use extensions handled internally.
      
      Add flags to each extension structure to indicate if an extension
      has been sent or received. Enforce RFC5246 compliance by rejecting
      duplicate extensions and unsolicited extensions and only send a
      server extension if we have sent the corresponding client extension.
      Reviewed-by: NEmilia Käsper <emilia@openssl.org>
      28ea0a0c
    • D
      Custom extension revision. · ecf4d660
      Dr. Stephen Henson 提交于
      Use the same structure for client and server custom extensions.
      
      Add utility functions in new file t1_ext.c.
      Use new utility functions to handle custom server and client extensions
      and remove a lot of code duplication.
      Reviewed-by: NEmilia Käsper <emilia@openssl.org>
      ecf4d660
  14. 15 8月, 2014 1 次提交
  15. 07 8月, 2014 1 次提交
  16. 25 7月, 2014 1 次提交
    • D
      Add conditional unit testing interface. · e0fc7961
      Dr. Stephen Henson 提交于
      Don't call internal functions directly call them through
      SSL_test_functions(). This also makes unit testing work on
      Windows and platforms that don't export internal functions
      from shared libraries.
      
      By default unit testing is not enabled: it requires the compile
      time option "enable-unit-test".
      Reviewed-by: NGeoff Thorpe <geoff@openssl.org>
      e0fc7961
  17. 04 7月, 2014 1 次提交
  18. 02 7月, 2014 1 次提交
  19. 30 6月, 2014 2 次提交
  20. 09 6月, 2014 1 次提交
    • D
      SRP ciphersuite correction. · 447280ca
      Dr. Stephen Henson 提交于
      SRP ciphersuites do not have no authentication. They have authentication
      based on SRP. Add new SRP authentication flag and cipher string.
      447280ca
  21. 28 3月, 2014 3 次提交
    • D
      Security framework. · b362ccab
      Dr. Stephen Henson 提交于
      Security callback: selects which parameters are permitted including
      sensible defaults based on bits of security.
      
      The "parameters" which can be selected include: ciphersuites,
      curves, key sizes, certificate signature algorithms, supported
      signature algorithms, DH parameters, SSL/TLS version, session tickets
      and compression.
      
      In some cases prohibiting the use of a parameters will mean they are
      not advertised to the peer: for example cipher suites and ECC curves.
      In other cases it will abort the handshake: e.g DH parameters or the
      peer key size.
      
      Documentation to follow...
      b362ccab
    • D
      Allow return of supported ciphers. · 8b8e5bed
      Dr. Stephen Henson 提交于
      New function ssl_cipher_disabled.
      
      Check for disabled client ciphers using ssl_cipher_disabled.
      
      New function to return only supported ciphers.
      
      New option to ciphers utility to print only supported ciphers.
      8b8e5bed
    • D
      Auto DH support. · 09599b52
      Dr. Stephen Henson 提交于
      Add auto DH parameter support. This is roughly equivalent to the
      ECDH auto curve selection but for DH. An application can just call
      
      SSL_CTX_set_auto_dh(ctx, 1);
      
      and appropriate DH parameters will be used based on the size of the
      server key.
      
      Unlike ECDH there is no way a peer can indicate the range of DH parameters
      it supports. Some peers cannot handle DH keys larger that 1024 bits for
      example. In this case if you call:
      
      SSL_CTX_set_auto_dh(ctx, 2);
      
      Only 1024 bit DH parameters will be used.
      
      If the server key is 7680 bits or more in size then 8192 bit DH parameters
      will be used: these will be *very* slow.
      
      The old export ciphersuites aren't supported but those are very
      insecure anyway.
      09599b52
  22. 25 2月, 2014 1 次提交
  23. 15 2月, 2014 1 次提交
  24. 06 2月, 2014 1 次提交
    • S
      Update custom TLS extension and supplemental data 'generate' callbacks to support sending an alert. · ac20719d
      Scott Deboy 提交于
      If multiple TLS extensions are expected but not received, the TLS extension and supplemental data 'generate' callbacks are the only chance for the receive-side to trigger a specific TLS alert during the handshake.
      
      Removed logic which no-op'd TLS extension generate callbacks (as the generate callbacks need to always be called in order to trigger alerts), and updated the serverinfo-specific custom TLS extension callbacks to track which custom TLS extensions were received by the client, where no-ops for 'generate' callbacks are appropriate.
      ac20719d
  25. 03 2月, 2014 1 次提交
    • D
      New ctrl to set current certificate. · 0f78819c
      Dr. Stephen Henson 提交于
      New ctrl sets current certificate based on certain criteria. Currently
      two options: set the first valid certificate as current and set the
      next valid certificate as current. Using these an application can
      iterate over all certificates in an SSL_CTX or SSL structure.
      0f78819c
  26. 09 1月, 2014 2 次提交
    • D
      use SSL_kDHE throughout instead of SSL_kEDH · 5a21cadb
      Daniel Kahn Gillmor 提交于
      DHE is the standard term used by the RFCs and by other TLS
      implementations.  It's useful to have the internal variables use the
      standard terminology.
      
      This patch leaves a synonym SSL_kEDH in place, though, so that older
      code can still be built against it, since that has been the
      traditional API.  SSL_kEDH should probably be deprecated at some
      point, though.
      5a21cadb
    • D
      use SSL_kECDHE throughout instead of SSL_kEECDH · 4082fea8
      Daniel Kahn Gillmor 提交于
      ECDHE is the standard term used by the RFCs and by other TLS
      implementations.  It's useful to have the internal variables use the
      standard terminology.
      
      This patch leaves a synonym SSL_kEECDH in place, though, so that older
      code can still be built against it, since that has been the
      traditional API.  SSL_kEECDH should probably be deprecated at some
      point, though.
      4082fea8
  27. 14 11月, 2013 1 次提交
    • R
      Additional "chain_cert" functions. · 7b6b246f
      Rob Stradling 提交于
      PR#3169
      
      This patch, which currently applies successfully against master and
      1_0_2, adds the following functions:
      
      SSL_[CTX_]select_current_cert() - set the current certificate without
      disturbing the existing structure.
      
      SSL_[CTX_]get0_chain_certs() - get the current certificate's chain.
      
      SSL_[CTX_]clear_chain_certs() - clear the current certificate's chain.
      
      The patch also adds these functions to, and fixes some existing errors
      in, SSL_CTX_add1_chain_cert.pod.
      7b6b246f