1. 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
  2. 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
  3. 13 6月, 2013 1 次提交
  4. 09 4月, 2013 1 次提交
    • 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
  5. 05 4月, 2013 1 次提交
    • D
      Make TLS 1.2 ciphers work again. · 1e2d4cb0
      Dr. Stephen Henson 提交于
      Since s->method does not reflect the final client version when a client
      hello is sent for SSLv23_client_method it can't be relied on to indicate
      if TLS 1.2 ciphers should be used. So use the client version instead.
      1e2d4cb0
  6. 28 3月, 2013 1 次提交
  7. 26 3月, 2013 2 次提交
    • 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
    • D
      Extend DTLS method macros. · cfd298b7
      Dr. Stephen Henson 提交于
      Extend DTLS method creation macros to support version numbers and encryption
      methods. Update existing code.
      cfd298b7
  8. 18 3月, 2013 3 次提交
    • 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
      Use appropriate versions of SSL3_ENC_METHOD · 6de2649a
      Dr. Stephen Henson 提交于
      6de2649a
    • 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
  9. 11 3月, 2013 1 次提交
    • D
      DTLS trace support. · 890f2f8b
      Dr. Stephen Henson 提交于
      Add DTLS record header parsing, different client hello format and add
      HelloVerifyRequest message type.
      
      Add code to d1_pkt.c to send message headers to the message callback.
      890f2f8b
  10. 08 2月, 2013 1 次提交
  11. 06 2月, 2013 3 次提交
    • A
      ssl/*: remove SSL3_RECORD->orig_len to restore binary compatibility. · 2aec073a
      Andy Polyakov 提交于
      Kludge alert. This is arranged by passing padding length in unused
      bits of SSL3_RECORD->type, so that orig_len can be reconstructed.
      (cherry picked from commit 8bfd4c659f180a6ce34f21c0e62956b362067fba)
      2aec073a
    • D
      Timing fix mitigation for FIPS mode. · c4e6fb15
      Dr. Stephen Henson 提交于
      We have to use EVP in FIPS mode so we can only partially mitigate
      timing differences.
      
      Make an extra call to EVP_DigestSignUpdate to hash additonal blocks
      to cover any timing differences caused by removal of padding.
      (cherry picked from commit b908e88ec15aa0a74805e3f2236fc4f83f2789c2)
      c4e6fb15
    • B
      Make CBC decoding constant time. · 2acc020b
      Ben Laurie 提交于
      This patch makes the decoding of SSLv3 and TLS CBC records constant
      time. Without this, a timing side-channel can be used to build a padding
      oracle and mount Vaudenay's attack.
      
      This patch also disables the stitched AESNI+SHA mode pending a similar
      fix to that code.
      
      In order to be easy to backport, this change is implemented in ssl/,
      rather than as a generic AEAD mode. In the future this should be changed
      around so that HMAC isn't in ssl/, but crypto/ as FIPS expects.
      (cherry picked from commit e130841bccfc0bb9da254dc84e23bc6a1c78a64e)
      2acc020b
  12. 12 9月, 2012 1 次提交
  13. 11 9月, 2012 1 次提交
  14. 31 8月, 2012 1 次提交
  15. 15 8月, 2012 1 次提交
  16. 27 7月, 2012 1 次提交
  17. 25 7月, 2012 1 次提交
  18. 24 7月, 2012 2 次提交
    • D
      check EC tmp key matches preferences · d18b716d
      Dr. Stephen Henson 提交于
      d18b716d
    • D
      Add support for certificate stores in CERT structure. This makes it · 74ecfab4
      Dr. Stephen Henson 提交于
      possible to have different stores per SSL structure or one store in
      the parent SSL_CTX. Include distint stores for certificate chain
      verification and chain building. New ctrl SSL_CTRL_BUILD_CERT_CHAIN
      to build and store a certificate chain in CERT structure: returing
      an error if the chain cannot be built: this will allow applications
      to test if a chain is correctly configured.
      
      Note: if the CERT based stores are not set then the parent SSL_CTX
      store is used to retain compatibility with existing behaviour.
      74ecfab4
  19. 18 7月, 2012 1 次提交
  20. 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
  21. 03 7月, 2012 1 次提交
  22. 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
  23. 28 6月, 2012 2 次提交
  24. 25 6月, 2012 1 次提交
  25. 22 6月, 2012 1 次提交
  26. 18 6月, 2012 1 次提交
  27. 04 6月, 2012 1 次提交
  28. 30 5月, 2012 1 次提交
  29. 24 4月, 2012 3 次提交
  30. 06 4月, 2012 1 次提交
  31. 05 4月, 2012 1 次提交