Permalink
Commits on Jun 26, 2017
  1. Merge PR #237

    kazu-yamamoto committed Jun 26, 2017
Commits on Jun 25, 2017
Commits on Jun 19, 2017
  1. Merge PR 236.

    kazu-yamamoto committed Jun 19, 2017
Commits on Jun 16, 2017
  1. Use a better fallback condition

    This now tests that credentials have possible ciphers.
    ocheron committed Jun 16, 2017
Commits on Jun 8, 2017
  1. Check only leaf certificate from certificate chain

    Draft TLS 1.3 section 4.4.2.2:  Certificates that are self-signed or
    certificates that are expected to be trust anchors are not validated
    as part of the chain and therefore MAY be signed with any algorithm.
    
    This implementation is positional only.  Server does not necessarily
    knows what level in the chain the client considers as trust anchor,
    so the code evaluates only a leaf certificate that is not self-signed.
    
    Test suite does not use self-signed certificates anymore.
    ocheron committed Jun 7, 2017
  2. Fallback to all certificates when no match

    Draft TLS 1.3 section 4.4.2.2:  If the server cannot produce a certificate
    chain that is signed only via the indicated supported algorithms, then it
    SHOULD continue the handshake by sending the client a certificate chain of
    its choice that may include algorithms that are not known to be supported
    by the client.
    ocheron committed Jun 4, 2017
  3. Apply hash/signature restrictions to credentials instead of ciphers

    When client and server do not agree on hash/signature algorithms, ciphers
    are not eliminated directly but indirectly through available credentials.
    
    This is necessary for EdDSA certificates: the same cipher key exchange
    ECDHE_ECDSA is reused for 3 public key algorithms ECDSA, Ed25519 and Ed448.
    And filtering only ciphers does not provide enough granularity anymore.
    For example ECDHE_ECDSA may be used with server having both ECDSA and
    Ed25519 certificates.  If client supports only plain old ECDSA, the server
    should not pick Ed25519 credentials.
    
    The list of credentials 'creds' now becomes two lists 'creds' and
    'signatureCreds'.  Function 'getCiphers' uses one of both lists depending
    on cipher key-exchange type.
    ocheron committed Jun 4, 2017
  4. Use "signature_algorithms" to filter server creds

    Implements a requirement from RFC 5246 section 7.4.2.
    
    Fixes #195.
    ocheron committed Mar 31, 2017
  5. Use creds instead of extraCreds

    ocheron committed Mar 31, 2017
  6. Remove functions ctxCiphers and getCiphers

    Embedding the logic to filter server ciphers directly in the parameters
    themselves seems convoluted.  Moreover it applies only to server ciphers
    and client ciphers do not need the extraCreds.
    
    As credentials need to be filtered based on ClientHello extensions
    it's best to move the function getCiphers directly in server code.
    ocheron committed Mar 31, 2017
  7. Remove duplicate filtering in commonCiphers

    The code was overly complex because the list of server ciphers
    was used twice, once for IDs and once more to get the Cipher
    records.
    
    Related to #191.
    ocheron committed Mar 31, 2017
  8. Rename HashTLS13 to HashIntrinsic

    This is the name chosen in draft-ietf-tls-rfc4492bis-17 and appearing
    in TLS HashAlgorithm Registry at IANA.
    ocheron committed Jun 8, 2017
Commits on Jun 2, 2017
  1. Merge PR #235.

    kazu-yamamoto committed Jun 2, 2017
  2. fixing a typo.

    kazu-yamamoto committed Jun 2, 2017
  3. removing trailing space.

    kazu-yamamoto committed Jun 2, 2017
  4. preventing warnings.

    kazu-yamamoto committed Jun 2, 2017
Commits on May 30, 2017
  1. Merge PR #233.

    kazu-yamamoto committed May 30, 2017
Commits on May 29, 2017
  1. Add #230 to CHANGELOG

    ocheron committed May 29, 2017
  2. Merge PR #232.

    kazu-yamamoto committed May 29, 2017
Commits on May 27, 2017
  1. tests/debug: Disable deprecation warning

    Need to disable this warning so we can still test deprecated
    functionality but avoid getting a warning.
    erikd committed May 27, 2017
Commits on May 26, 2017
  1. Merge pull request #230 from erikd/topic/Bytes-API

    Change Bytes to ByteString
    committed on GitHub May 26, 2017
  2. Deprecate the Bytes type alias

    erikd committed May 26, 2017
Commits on May 14, 2017
  1. Change Bytes to ByteString

    `Bytes` was a type alias for `ByteString`. The `Bytes` type is kept
    because it is exposed in the API.
    
    Have built http-client-tls and warp-tls from Hackage with this
    version of tls and zero changes were needed.
    erikd committed May 5, 2017
Commits on May 12, 2017
  1. Merge PR #224.

    kazu-yamamoto committed May 12, 2017