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

Fix python2 compatibility issue with X509 DER parsing #117

Open
wants to merge 696 commits into
base: master
Choose a base branch
from
Open

Fix python2 compatibility issue with X509 DER parsing #117

wants to merge 696 commits into from

Conversation

etvahala
Copy link

@etvahala etvahala commented Mar 1, 2018

The documentation for X509.parseBinary claims to support python2 str as an input.
The input string is correctly converted to bytearray, but the array is not
passed to the ASN1Parser - the parser gets the original string and
fails with Type error when attempting to logical-or the characters with an integer.

tomato42 and others added 30 commits November 8, 2016 15:31
increase timeouts for test connections
Add more strong pseudoprimes in tests
the CRT leaks are as applicable to ServerKeyExchange as they
are to CertificateVerify, if only harder to exploit
also fixes the incorrect generator for 3072-bit params,
it was 2, but should be 5. Keep the old params in the list,
but don't use them for creating the verifier values
(see makeVerifier)
rfc 7919 mandates that in case the client advertised
any ffdhe groups (including unrecognised ones), if server
can't find a fallback cipher, it needs to fail connection
with insufficient_security alert
# Conflicts:
#	tlslite/utils/codec.py
Because NSS zero-pads the key share in SKE message, the
writeParams and thus hash calculation for the message won't
match and the signature verification will fail

this patch extends the message parser to store the length
of the field together with value and recreate it on write
tomato42 and others added 27 commits February 9, 2018 13:24
some travis hosts are very slow, so try to
workaround it by insreasing timeouts in tests
increase timeouts for iteraction
a lot of methods use parameters names that use
camelCase, which is unpythonic, add a decorator that
will allow renaming them without breaking backwards
compatibility
use the new pylint generated pylintrc as a guide, update rgx
basic TLS 1.3 client support - no HRR, no session resumption
the protocol requires that key_share extension be always present,
even if the list in it would be empty (on penalty of a round-trip-time)
In python 3.7, async and await are new reserved keywords which cannot
be used as variable names or arguments. This commit renames some
parameters called async to comply with that. It also updates metadata
identifiers to state python 3.7 support as well as runs with mentioned
version on travis.
@tomato42
Copy link
Contributor

tomato42 commented Mar 1, 2018

Could you file it against tomato42/tlslite-ng? this fork is essentially abandoned

@etvahala
Copy link
Author

etvahala commented Mar 1, 2018

Sure, filed as tlsfuzzer/tlslite-ng#223

The documentation for X509.parseBinary claims to support python2 str as an input.
The input string is correctly converted to bytearray, but the array is not
passed to the ASN1Parser - the parser gets the original string and
fails with Type error when attempting to logical-or the characters with an integer.
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.

8 participants