Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update for draft -22 and client support #2

Merged
merged 15 commits into from
Dec 16, 2017
Merged

Conversation

Lekensteyn
Copy link
Collaborator

Main changes:

  • draft22 support (updated vendored bogo copy).
  • added SSLKEYLOGFILE support to assist in debugging
  • documented and disabled tests that are not applicable or not implemented yet in tris (majority of the commits)

This branch is used by the current master branch in tris.

Required for test case RSA-PSS-Default-Sign which is currently the only
test that fails with tls-tris.
Tested with the initial tls-tris client support branch which includes
basic RSASSA-PSS support. Coverage changed from ... to ...:

    0/3509/3692/3692/4136
    0/2784/3195/3195/4136
See cloudflare/tls-tris#46, current
implementations may send one byte too much since they do not include the
content type in the calculation.
The spec only says that the "opaque_type" field is always set to 23
(application_data), but that is not a MUST check.

cloudflare/tls-tris#47
Problem was in the TLS 1.3 client implementation of tls-tris, fixed in:
"crypto/tls: prevent handshake messages crossing key boundaries"
Fixed in tls-tris: "crypto/tls: accept 2^14+1 TLSInnerPlaintext"
Normally this environment variable is not set, but when it is, it allows
inspection of the IPC with Wireshark.
PSS test is disabled because its implementation is not accepted yet
(https://go-review.googlesource.com/c/go/+/79738). Do not check for
UnknownUnencryptedExtension-Client-TLS13, the client currently does not
check for extensions that it did not advertise.
This test checks for a handshake failure when the server sends
supported_versions, but draft 22 will start using this extension. Do not
bother checking for it.
Current bogo tests for draft18, patch that to use draft22. Patch from
https://boringssl-review.googlesource.com/c/boringssl/+/23704/2

Upstream commit e1068b76bd1d7f6ea06c90faa523ad8d562ec11b ("Test RSA
premaster unpad better.") added another version-specific test, disable
that since no protection is implemented.
Copy link
Owner

@FiloSottile FiloSottile left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wonderful, thank you!

And thanks for including vendor/bogo-draft22.diff.

@FiloSottile FiloSottile merged commit 631e73e into master Dec 16, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants