1. 22 1月, 2015 3 次提交
  2. 03 1月, 2015 1 次提交
  3. 31 12月, 2014 1 次提交
  4. 16 12月, 2014 2 次提交
  5. 04 12月, 2014 1 次提交
  6. 03 12月, 2014 1 次提交
  7. 28 11月, 2014 2 次提交
  8. 26 11月, 2014 1 次提交
  9. 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
  10. 19 11月, 2014 1 次提交
  11. 24 10月, 2014 1 次提交
  12. 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
  13. 15 8月, 2014 1 次提交
  14. 07 8月, 2014 1 次提交
  15. 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
  16. 04 7月, 2014 1 次提交
  17. 02 7月, 2014 1 次提交
  18. 30 6月, 2014 2 次提交
  19. 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
  20. 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
  21. 25 2月, 2014 1 次提交
  22. 15 2月, 2014 1 次提交
  23. 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
  24. 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
  25. 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
  26. 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
  27. 21 10月, 2013 1 次提交
    • N
      Do not include a timestamp in the Client/ServerHello Random field. · 2016265d
      Nick Mathewson 提交于
      Instead, send random bytes, unless SSL_SEND_{CLIENT,SERVER}RANDOM_MODE
      is set.
      
      This is a forward-port of commits:
        4af793036f6ef4f0a1078e5d7155426a98d50e37
        f4c93b46edb51da71f09eda99e83eaf193a33c08
        3da721dac9382c48812c8eba455528fd59af2eef
        2583270191a8b27eed303c03ece1da97b9b69fd3
      
      While the gmt_unix_time record was added in an ostensible attempt to
      mitigate the dangers of a bad RNG, its presence leaks the host's view
      of the current time in the clear.  This minor leak can help
      fingerprint TLS instances across networks and protocols... and what's
      worse, it's doubtful thet the gmt_unix_time record does any good at
      all for its intended purpose, since:
      
          * It's quite possible to open two TLS connections in one second.
      
          * If the PRNG output is prone to repeat itself, ephemeral
            handshakes (and who knows what else besides) are broken.
      2016265d
  28. 08 9月, 2013 1 次提交
    • D
      Experimental encrypt-then-mac support. · 5e3ff62c
      Dr. Stephen Henson 提交于
      Experimental support for encrypt then mac from
      draft-gutmann-tls-encrypt-then-mac-02.txt
      
      To enable it set the appropriate extension number (0x10 for the test server)
      using e.g. -DTLSEXT_TYPE_encrypt_then_mac=0x10
      
      For non-compliant peers (i.e. just about everything) this should have no
      effect.
      5e3ff62c
  29. 06 9月, 2013 1 次提交
    • S
      Add callbacks supporting generation and retrieval of supplemental data... · 36086186
      Scott Deboy 提交于
      Add callbacks supporting generation and retrieval of supplemental data entries, facilitating RFC 5878 (TLS auth extensions)
      Removed prior audit proof logic - audit proof support was implemented using the generic TLS extension API
      Tests exercising the new supplemental data registration and callback api can be found in ssltest.c.
      Implemented changes to s_server and s_client to exercise supplemental data callbacks via the -auth argument, as well as additional flags to exercise supplemental data being sent only during renegotiation.
      36086186