* drop python 3.6 support
* Update tests/hazmat/bindings/test_openssl.py
Co-authored-by: Alex Gaynor <alex.gaynor@gmail.com>
---------
Co-authored-by: Alex Gaynor <alex.gaynor@gmail.com>
* add unsafe_skip_rsa_key_validation
This allows users to skip RSA key validation when calling
load_pem_private_key, load_der_private_key, and
RSAPrivateNumbers.private_key. This is a significant performance
improvement but is **only safe if you know the key is valid**. If you
use this when the key is invalid OpenSSL makes no guarantees about what
might happen. Infinite loops, crashes, and all manner of terrible things
become possible if that occurs. Beware, beware, beware.
* Apply suggestions from code review
Co-authored-by: Alex Gaynor <alex.gaynor@gmail.com>
* remove unneeded variable
Co-authored-by: Alex Gaynor <alex.gaynor@gmail.com>
* Ensure there's nothing on the error stack after tests
* Update binding.py
* Simplify
* Be sure it's clear at teh start of the test
* update for libressl version
* Workaround for OpenSSL 3.0
* Workaround for OpenSSL 3.0
* Link to issue
* Speed up RSA tests in 3.0.0
RSA_check_key is slower in OpenSSL 3.0.0 due to improved
primality checking. In normal use this is unlikely to be a problem
since users don't load new keys constantly, but we do in our tests.
This adds some private flags to allow skipping those checks for
performance reasons.
On my laptop with this patch it takes 16s to run test_rsa.py. The
previous commit takes 72s.
* black
* different approach
* skip rsa key checks in wycheproof
wycheproof's tets don't rely on broken keys
* update pytest config
pytest 3.8.0 was just released and officially deprecates some of the way
we do pytest marks. They introduced a new way to do this in 3.6 so this
PR switches to that mechanism and updates our minimum pytest requirement
* update the stubs
* also update wycheproof test config to remove deprecated paths
* don't need this any more