1. 05 2月, 2019 2 次提交
  2. 07 1月, 2019 1 次提交
  3. 06 12月, 2018 1 次提交
  4. 11 9月, 2018 1 次提交
  5. 15 8月, 2018 1 次提交
  6. 09 8月, 2018 1 次提交
  7. 08 8月, 2018 1 次提交
  8. 18 7月, 2018 1 次提交
  9. 17 5月, 2018 1 次提交
  10. 15 5月, 2018 1 次提交
  11. 27 4月, 2018 1 次提交
  12. 19 4月, 2018 4 次提交
  13. 15 4月, 2018 2 次提交
  14. 14 4月, 2018 1 次提交
  15. 13 4月, 2018 2 次提交
  16. 08 4月, 2018 3 次提交
  17. 05 4月, 2018 1 次提交
    • A
      TLSProxy/Proxy.pm: switch to dynamic ports and overhaul. · 6228b1da
      Andy Polyakov 提交于
      By asking for port 0, you get a free port dynamically assigned by OS.
      TLSProxy::Proxy now asks for 0 and asks s_server to do the same. The
      s_server's port is reported in "ACCEPT" line, which TLSProxy::Proxy
      parses and uses.
      
      Because the server port is now a random affair in TLSProxy::Proxy,
      it's no longer possible to change it with the method 'server_port',
      and it has become an accessor only. For the sake of orthogonality, so
      has the method 'server_addr'.
      
      Remove all fork calls on Windows, as fork is not to be trusted there.
      This naturally minimized amount of fork calls on POSIX systems, to 1.
      
      Sink s_server's output to 'perl -ne print' which ensures that output
      is written strictly in lines. This keeps TAP parser happy.
      
      Improve synchronization in -naccept +n cases by establishing next
      connection to s_server *after* s_client finishes instead of before it
      starts.
      
      Improve error handling and clean up some methods.
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      (Merged from https://github.com/openssl/openssl/pull/5843)
      6228b1da
  18. 28 3月, 2018 2 次提交
  19. 23 3月, 2018 1 次提交
  20. 20 3月, 2018 1 次提交
  21. 14 3月, 2018 2 次提交
  22. 21 2月, 2018 1 次提交
    • M
      Remove a spurious TLSProxy byte in TLSv1.3 · 6c61b274
      Matt Caswell 提交于
      When the proxy re-encrypted a TLSv1.3 record it was adding a spurious
      byte onto the end. This commit removes that.
      
      The "extra" byte was intended to be the inner content type of the record.
      However, TLSProxy was actually adding the original encrypted data into the
      record (which already has the inner content type in it) and then adding
      the spurious additional content type byte on the end (and adjusting the
      record length accordingly).
      
      It is interesting to look at why this didn't cause a failure:
      
      The receiving peer first attempts to decrypt the data. Because this is
      TLSProxy we always use a GCM based ciphersuite with a 16 byte tag. When
      we decrypt this it actually gets diverted to the ossltest engine. All this
      does is go through the motions of encrypting/decrypting but just passes
      back the original data. Crucially it will never fail because of a bad tag!
      The receiving party thinks the spurious additional byte is part of the
      tag and the ossltest engine ignores it.
      
      This means the data that gets passed back to the record layer still has
      an additional spurious byte on it - but because the 16 byte tag has been
      removed, this is actually the first byte of the original tag. Again
      because we are using ossltest engine we aren't actually creating "real"
      tags - we only ever emit 16, 0 bytes for the tag. So the spurious
      additional byte always has the value 0. The TLSv1.3 spec says that records
      can have additional 0 bytes on the end of them - this is "padding". So the
      record layer interprets this 0 byte as padding and strips it off to end up
      with the originally transmitted record data - which it can now process
      successfully.
      Reviewed-by: NBernd Edlinger <bernd.edlinger@hotmail.de>
      (Merged from https://github.com/openssl/openssl/pull/5370)
      6c61b274
  23. 13 2月, 2018 1 次提交
  24. 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
  25. 26 1月, 2018 3 次提交
  26. 19 1月, 2018 2 次提交
  27. 18 1月, 2018 1 次提交