aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Don't raise an UnsupportedExtension for critical extensions. (#3550)Alex Gaynor2017-05-208-51/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | * Don't raise an UnsupportedExtension for critical extensions. Fixes #2903 Fixes #2901 Fixes #3325 * Don't link * Revert "Don't link" This reverts commit 4fe847f91d9dd45cdc28a4984c4e44aad62a5de6. * fix * Revert "Revert "Don't link"" This reverts commit 856031b5a1fbad04ac218fa94ebf37dcd402f3ed. * fix * Deprecate this * Better changelog entry
* Add PEM_write_bio_DHxparams, d2i_DHxparams_bio, i2d_DHxparams_bio (#3485)Aviv Palivoda2017-05-193-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Add PEM_write_bio_DHxparams * Define PEM_write_bio_DHxparams only if EVP_PKEY_DHX defined. Both added in commit afb14cda in openssl * Add d2i_DHxparams_bio and i2d_DHxparams_bio bindings * Fix bindings addition * change condtional bindings to be after 1.1.0f * Change i2d_DHxparams_bio return type * define Cryptography_d2i_DHxparams_bio and Cryptography_i2d_DHxparams_bio * Remove d2i_DHxparams_bio, i2d_DHxparams_bio bindings * Add declarations for Cryptography_d2i_DHxparams_bio and Cryptography_i2d_DHxparams_bio * Move Cryptography_d2i_DHxparams_bio and Cryptography_i2d_DHxparams_bio declaration to MACROS * Add Cryptography_d2i_DHxparams_bio, Cryptography_i2d_DHxparams_bio and PEM_write_bio_DHxparams to _coditionals.py * Make sure we did not define EVP_PKEY_DHX
* Don't skip DH tests when dhx unsupported and no dhx is required (#3484)Aviv Palivoda2017-05-191-17/+35
| | | | | | * Don't skip DH tests when dhx unsupported and no dhx is required * Add is_dhx parameter
* Added a binding that will be useful for AIA chasing (#3546)Alex Gaynor2017-05-182-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | * Added a binding that will be useful for AIA chasing * another function * This is required * void arguments are morally complex * These are macros * fixes * This has existed for a while * long line * typo * Cory wants this as well * This is conditional
* Make the code compatible with the latest sphinx release (#3543)Alex Gaynor2017-05-171-15/+6
|
* pin sphinx version to avoid test breakage (#3544)Alex Gaynor2017-05-171-1/+1
|
* Fixes #3538 -- Make our OpenSSL EC verifier's implementation match the API ↵Alex Gaynor2017-05-104-18/+28
| | | | | | | | | | | | | | (#3539) * Document our real API for EC verification, not an accident * formatting consistency * fix the code itself * fixed class name * fixed a test too
* use openssl constants (#3534)Paul Kehrer2017-05-034-13/+35
|
* add a changelog entry for finalize_with_tag and move the note (#3531)Paul Kehrer2017-05-022-4/+8
|
* postpone GCM authentication tag requirement until finalization (#3421)Philipp Gesang2017-05-027-33/+208
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * postpone GCM authentication tag requirement until finalization Add a .finalize_with_tag() variant of the .finalize() function of the GCM context. At the same time, do not enforce the requirement of supplying the tag with the mode ctor. This facilitates streamed decryption when the MAC is appended to the ciphertext and cannot be efficiently retrieved ahead of decryption. According to the GCM spec (section 7.2: “Algorithm for the Authenticated Decryption Function”), the tag itself is not needed until the ciphertext has been decrypted. Addresses #3380 Signed-off-by: Philipp Gesang <philipp.gesang@intra2net.com> * disallow delayed GCM tag passing for legacy OpenSSL Old versions of Ubuntu supported by Cryptography ship a v1.0.1 of OpenSSL which is no longer supported by upstream. This library seems to cause erratic test failures with the delayed GCM tag functionality which are not reproducible outside the CI. Unfortunately OpenSSL v1.0.1 does not even document the required API (``EVP_EncryptInit(3)``) so there is no by-the-book fix. For backends of version 1.0.1 and earlier, verify the GCM tag at the same stage as before. Also, indicate to the user that late passing of GCM tags is unsupported by throwing ``NotImplementedError`` for these backend versions if - the method ``finalize_with_tag()`` is invoked, or - the mode ctor is called without passing a tag. Unit tests have been adapted to account for different backend versions.
* Delete dead code and update a comment (#3529)Alex Gaynor2017-04-302-5/+3
|
* Don't compare cffi version using strings (#3524)Alex Gaynor2017-04-295-15/+5
|
* Remove trailing space in vector #3522 (#3523)Alex Gaynor2017-04-281-1/+1
| | | The original source of this vector does not have a space, we added it by accident
* Remove unused assignment (#3519)Alex Gaynor2017-04-271-1/+1
|
* Update docs to reflect a change that occured long ago with bindings (#3517)Alex Gaynor2017-04-261-3/+4
|
* bump minimum setuptools version (#3513)Alex Gaynor2017-04-221-1/+1
| | | This is sort of a pre-req for #3508 (but not really, because setuptools needs to be this version before setup.py even runs for that PR). Because we still support older setuptools versions in our pkg_resources code, this is mostly a gentle nudge to the ecosystem.
* Additional SCT bindings (#3510)Alex Gaynor2017-04-212-0/+23
| | | | | | * Additional SCT bindings * forgot to conditional these
* format some function names in docs (#3511)Alex Gaynor2017-04-211-1/+1
|
* Removed some legacy garbage (#3502)Alex Gaynor2017-04-131-2/+0
|
* Another simplification of freeing (#3498)Alex Gaynor2017-04-092-7/+2
|
* Fixed #3489 -- document that we don't have wheels for pypy (#3496)Alex Gaynor2017-04-092-0/+5
| | | | | | * Fixed #3489 -- document that we don't have wheels for pypy * homebrew is a word
* Fixed #3492 -- use a better API (#3497)Alex Gaynor2017-04-092-7/+2
| | | | | | | | | | * Fixed #3492 -- use a better API * More correct types * Revert "More correct types" This reverts commit e7412927eccf2b983bbcab2d2864ae1e4e83b56f.
* Add some ASN1_TIME related functions for the relevant PyOpenSSL patch. (#3491)Moriyoshi Koizumi2017-04-061-0/+2
| | | | | | * Add ASN1_TIME related functions for the relevant PyOpenSSL patch. * Move ASN1_TIME_check() to MACROS as the argument's constness varies between 1.0.x and 1.1.0~.
* minor int_to_bytes performance increase (#3490)Ofek Lev2017-04-061-7/+13
| | | | | | | | * minor int_to_bytes performance increase * why is Python 2.6 supported anyway... * keep py2k version
* Style nit in C code (#3486)Alex Gaynor2017-04-031-1/+1
|
* remove key check (#3473)Ofek Lev2017-04-011-3/+0
|
* Attempt to simplify the libressl checing (#3482)Alex Gaynor2017-03-2618-72/+57
| | | | | | | | | | * Attempt to simplify the libressl checing * SHENANGINS * Attempted fix * More simplification
* I don't know what a bug issue is (#3481)Alex Gaynor2017-03-241-1/+1
|
* Update symmetric-encryption.rst (#3479)gdmnbt2017-03-231-0/+1
| | | | | | | | | | * Update symmetric-encryption.rst Import default_backend so the example works out-of-the-box. * Update symmetric-encryption.rst * newline nit
* Two additional bindings for CT (#3478)Alex Gaynor2017-03-232-0/+9
| | | | | | * Two additional bindings for CT * Grumble
* Another site goes HTTPS! (#3477)Alex Gaynor2017-03-231-1/+1
|
* Use some more recent version numbers in examples (#3474)Alex Gaynor2017-03-221-3/+3
|
* From time to time, we ignore our own policy (#3475)Alex Gaynor2017-03-221-0/+4
|
* Use stronger language (#3476)Alex Gaynor2017-03-221-2/+1
|
* First pass at adding SCT bindings (#3471)Alex Gaynor2017-03-223-0/+75
| | | | | | | | | | | | | | * First pass at adding bindings for CT functions. No conditionals yet. * add a stack typedef as well * Don't try to include this header if we're on an older OpenSSL * wire up the conditional stuff * bunch o' nonsense to get it to compile on old openssl * I hate libressl
* Interfaces for SCTs, feedback wanted (#3467)Alex Gaynor2017-03-224-0/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Stub API for SCTs, feedback wanted * grr, flake8 * port this to being an ABC * finish up the __init__ * Two necessary enums * Roll this back * Wrote some docs * spell words correctly * linky * more details * use the words UTC * coverage * Define MMD for the kids at some * linky linky
* Remove API deprecated in 1.6, clean up the legacy deprecations (#3468)Alex Gaynor2017-03-217-35/+12
| | | | | | * Remove API deprecated in 1.6, clean up the legacy deprecations * flake8, unused import
* add captions to the split toctrees (#3466)anarcat2017-03-201-9/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | * add captions to the split toctrees this will render the table of contents with separators in the RTD theme. right now, the table of contents is quite confusing on the [RTD site][] - that is because there are 3 distinct `toctree` directives, but no `:caption:` field. instead, there are headers in the `index.rst` but those are not parsed by RTD. [RTD site]: https://cryptography.io/en/latest/ by moving those headers in the `:caption:` field, we keep the heading, but it will also be shown in the left table of contents on the RTD site. for an example of that pattern, see the [scrapy documentation][]. they go even further by hiding the `toctree` elements completely and adding explanations on every section, but this is out of scope here for now. [scrapy documentation]: https://doc.scrapy.org/en/latest/index.html * remove spurious backtics in caption they do not work in that field, apparently.
* Refs #3461 -- added the OID for the SCT x.509 extension (#3464)Alex Gaynor2017-03-202-0/+9
| | | | | | * Refs #3461 -- added the OID for the SCT x.509 extension * Version added
* Refs #3461 -- added a test vector with SCTs (#3462)Alex Gaynor2017-03-193-0/+33
| | | | | | * Refs #3461 -- added a test vector with SCTs * timestamp is a word
* Update wheel scripts to match what Jenkins has (#3459)Alex Gaynor2017-03-192-6/+32
| | | | | | | | * Include python3.6 in the macOS wheel script * Pull in changes from Jenkins * For Windows as well
* Remove workaround for weird NetBSD bug (#3458)Alex Gaynor2017-03-172-25/+0
|
* Write a memory leak test for X.509 extensions (#3451)Alex Gaynor2017-03-161-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Bind a pair of mem functions. * do the conditional correctly * move to the right section * Get the code basically working * flake8 * say the correct incantation * WOrkaround for hilarity * Revert "WOrkaround for hilarity" This reverts commit 37b9f3b4ed4063eef5add3bb5d5dd592a007d439. * Swap out these functions for the originals * nonsense for windows * try writing this all out for windows * Debugging utility * Avoid this mess, don't dlopen anything * Throw away this FFI entirely * first pass at some x.509 memleak tests * TODO and fix * Get the tests to passing * String formatting is nasty * some fixes because rebasing * fix for the name API, always use the OpenSSL backend
* Improvements to the memleak tests (#3457)Alex Gaynor2017-03-151-10/+15
| | | | | | | | | * Improvements to the memleak tests * Support passing args * Do more initialization before looking for at the heap * Don't use default_backend for something OpenSSL specific
* Ec is a thing (#3453)Alex Gaynor2017-03-1511-388/+7
| | | | | | | | | | | | | | | | * We always have EC * We always have ECDH * We always have ECDSA * We always have EC codes * This can go as well * And this * unused import
* Be on brand: it's macOS (#3456)Alex Gaynor2017-03-158-14/+14
| | | | | | * Be on brand: it's macOS * line wrap
* add X509_STORE_CTX_get0_cert binding (#3455)Paul Kehrer2017-03-141-0/+9
|
* update dev docs to also say macOS and use openssl 1.1 (#3452)Paul Kehrer2017-03-141-4/+4
|
* More ifdef death (#3450)Alex Gaynor2017-03-144-62/+2
| | | | | | | | | | * CMAC is always supported * TLSv1.2 is always supported * Releasing buffers is always supported * Nonsense IE SSLv2 nonsens is always supported
* Memleak tests (#3140)Alex Gaynor2017-03-143-0/+209
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Bind a pair of mem functions. * make these conditional * do the conditional correctly * move to the right section * I'm not saying libressl should be illegal, but it is annoying * sigh, typo * first cut at memleak tests. doesn't work * hack around the previous error, onto the next one * drop the pointless restoration of the original functions * Don't try to use the previous malloc functions. The default malloc is CRYPTO_malloc which calls the custom ptr you provided, so it just recurses forever. * flake8 * Get the code basically working * flake8 * say the correct incantation * Don't try to run on old OpenSSL * Flushing this is a good idea * Fixed a py2.7+ism * GRRRRR * WOrkaround for hilarity * Revert "WOrkaround for hilarity" This reverts commit 37b9f3b4ed4063eef5add3bb5d5dd592a007d439. * Swap out these functions for the originals * py3k fix * flake8 * nonsense for windows * py3k * seperate stdout and stderr because py26 has a warning on stderr * try writing this all out for windows * useful error messages * Debugging utility * Avoid this mess, don't dlopen anything * consistency * Throw away this FFI entirely * some useful comments