1. 07 6月, 2014 1 次提交
  2. 05 6月, 2014 2 次提交
    • D
      Fix for CVE-2014-0224 · a91be108
      Dr. Stephen Henson 提交于
      Only accept change cipher spec when it is expected instead of at any
      time. This prevents premature setting of session keys before the master
      secret is determined which an attacker could use as a MITM attack.
      
      Thanks to KIKUCHI Masashi (Lepidum Co. Ltd.) for reporting this issue
      and providing the initial fix this patch is based on.
      (cherry picked from commit bc8923b1ec9c467755cd86f7848c50ee8812e441)
      a91be108
    • D
      Fix CVE-2014-3470 · a5362db4
      Dr. Stephen Henson 提交于
      Check session_cert is not NULL before dereferencing it.
      (cherry picked from commit 8011cd56e39a433b1837465259a9bd24a38727fb)
      a5362db4
  3. 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
      Check return value of ssl3_output_cert_chain · 66f96fe2
      Dr. Stephen Henson 提交于
      66f96fe2
    • 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
  4. 21 2月, 2014 1 次提交
  5. 06 2月, 2014 3 次提交
  6. 26 1月, 2014 1 次提交
  7. 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
  8. 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:
        4af79303
        f4c93b46
        3da721da
        25832701
      
      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
  9. 18 9月, 2013 1 次提交
    • D
      DTLS version usage fixes. · 40088d8b
      Dr. Stephen Henson 提交于
      Make DTLS behave like TLS when negotiating version: record layer has
      DTLS 1.0, message version is 1.2.
      
      Tolerate different version numbers if version hasn't been negotiated
      yet.
      40088d8b
  10. 08 9月, 2013 1 次提交
  11. 06 9月, 2013 4 次提交
  12. 09 4月, 2013 2 次提交
    • D
      Suite B support for DTLS 1.2 · 4544f0a6
      Dr. Stephen Henson 提交于
      Check for Suite B support using method flags instead of version numbers:
      anything supporting TLS 1.2 cipher suites will also support Suite B.
      
      Return an error if an attempt to use DTLS 1.0 is made in Suite B mode.
      4544f0a6
    • D
      Dual DTLS version methods. · c6913eeb
      Dr. Stephen Henson 提交于
      Add new methods DTLS_*_method() which support both DTLS 1.0 and DTLS 1.2 and
      pick the highest version the peer supports during negotiation.
      
      As with SSL/TLS options can change this behaviour specifically
      SSL_OP_NO_DTLSv1 and SSL_OP_NO_DTLSv1_2.
      c6913eeb
  13. 28 3月, 2013 1 次提交
  14. 26 3月, 2013 1 次提交
    • D
      Provisional DTLS 1.2 support. · c3b344e3
      Dr. Stephen Henson 提交于
      Add correct flags for DTLS 1.2, update s_server and s_client to handle
      DTLS 1.2 methods.
      
      Currently no support for version negotiation: i.e. if client/server selects
      DTLS 1.2 it is that or nothing.
      c3b344e3
  15. 18 3月, 2013 2 次提交
    • D
      Use enc_flags when deciding protocol variations. · cbd64894
      Dr. Stephen Henson 提交于
      Use the enc_flags field to determine whether we should use explicit IV,
      signature algorithms or SHA256 default PRF instead of hard coding which
      versions support each requirement.
      cbd64894
    • D
      DTLS revision. · 173e72e6
      Dr. Stephen Henson 提交于
      Revise DTLS code. There was a *lot* of code duplication in the
      DTLS code that generates records. This makes it harder to maintain and
      sometimes a TLS update is omitted by accident from the DTLS code.
      
      Specifically almost all of the record generation functions have code like
      this:
      
      some_pointer = buffer + HANDSHAKE_HEADER_LENGTH;
      ... Record creation stuff ...
      set_handshake_header(ssl, SSL_MT_SOMETHING, message_len);
      
      ...
      
      write_handshake_message(ssl);
      
      Where the "Record creation stuff" is identical between SSL/TLS and DTLS or
      in some cases has very minor differences.
      
      By adding a few fields to SSL3_ENC to include the header length, some flags
      and function pointers for handshake header setting and handshake writing the
      code can cope with both cases.
      
      Note: although this passes "make test" and some simple DTLS tests there may
      be some minor differences in the DTLS code that have to be accounted for.
      173e72e6
  16. 31 8月, 2012 1 次提交
  17. 30 8月, 2012 1 次提交
  18. 15 8月, 2012 1 次提交
  19. 27 7月, 2012 1 次提交
  20. 25 7月, 2012 1 次提交
  21. 24 7月, 2012 1 次提交
  22. 18 7月, 2012 1 次提交
  23. 08 7月, 2012 1 次提交
    • D
      Add new ctrl to retrieve client certificate types, print out · 9f27b1ee
      Dr. Stephen Henson 提交于
      details in s_client.
      
      Also add ctrl to set client certificate types. If not used sensible values
      will be included based on supported signature algorithms: for example if
      we don't include any DSA signing algorithms the DSA certificate type is
      omitted.
      
      Fix restriction in old code where certificate types would be truncated
      if it exceeded TLS_CT_NUMBER.
      9f27b1ee
  24. 29 6月, 2012 1 次提交
    • D
      Add certificate callback. If set this is called whenever a certificate · 18d71588
      Dr. Stephen Henson 提交于
      is required by client or server. An application can decide which
      certificate chain to present based on arbitrary criteria: for example
      supported signature algorithms. Add very simple example to s_server.
      This fixes many of the problems and restrictions of the existing client
      certificate callback: for example you can now clear existing certificates
      and specify the whole chain.
      18d71588
  25. 04 6月, 2012 1 次提交
  26. 30 5月, 2012 1 次提交
  27. 24 4月, 2012 3 次提交