Commit graph

6952 commits

Author SHA1 Message Date
Paul Kehrer
63df0102a4 add pypy3.5 to our test matrix (#3709)
* add pypy3.5 to our test matrix

* pypy-nocoverage time
2017-06-19 06:59:13 -04:00
Paul Kehrer
c38e5508ca add FAQ entry for failed to install (#3710) 2017-06-19 06:54:12 -04:00
Paul Kehrer
e67354e9e9 add NIST CAVP CCM vectors (#3698)
http://csrc.nist.gov/groups/STM/cavp/documents/mac/ccmtestvectors.zip

No TLS :(
2017-06-18 20:35:05 -04:00
Paul Kehrer
e45151c258 update pythons and pypy, a little prep for pypy3 in CI again (#3702)
* update pythons and pypy, a little prep for pypy3 in CI again

* slightly renamed

* oops

* pypy renames all around
2017-06-18 20:32:59 -04:00
Paul Kehrer
9e19428029 fix typo in docs for curve name (#3705)
fixes #3704
2017-06-14 16:28:53 -04:00
Jean-Paul Calderone
61858f36b6 It's a method you must call (#3696)
Fix misworded guidance for how to serialize a private key to bytes.
2017-06-09 11:18:55 -10:00
Paul Kehrer
3e357f7040 X25519 Support (#3686)
* early days

* sort of working

* more things

* remove private_bytes

* public bytes, interface fix

* load public keys

* x25519 support basically done now

* private_bytes is gone

* some reminders

* doctest this too

* remove a thing that doesn't matter

* x25519 supported checks

* libressl has the NID, but a different API, so check for OpenSSL

* pep8

* add missing coverage

* update to use reasons

* expand test a little

* add changelog entry

* review feedback
2017-06-09 08:31:30 -04:00
Paul Kehrer
7e53d91157 ChaCha20Poly1305 support (#3680)
* chacha20poly1305 support

* add chacha20poly1305 backend and some fixes

* refactor

* forgot to remove this

* pep8

* review feedback and a lot of type/value checking

* review feedback

* raise unsupportedalgorithm when creating a ChaCha20Poly1305 object

if it's not supported.

* switch to ciphertext||tag

* typo

* remove a branch we don't need

* review feedback

* decrypts is *also* a word

* use reasons
2017-06-08 00:08:57 -04:00
Paul Kehrer
f12955cd24 scrypt can be doctested now that we're using 1.1.0 (#3688) 2017-06-07 08:20:33 -04:00
Paul Kehrer
8ba4756af9 compile all our mac builds against 1.1.0 in travis (#3689)
* compile all our mac builds against 1.1.0 in travis

* Just install

* try this why not

* ...

* of course

* upgrade the existing openssl
2017-06-07 00:31:02 -04:00
Paul Kehrer
6bdae78191 run our docs job using 1.1.0 (#3687) 2017-06-06 14:45:01 -04:00
Paul Kehrer
cfdc6057e1 add X25519 test vectors from RFC 7748 section 5.2 (#3685) 2017-06-06 08:01:03 -04:00
Paul Kehrer
34036d649f bind even more evp (#3684)
* bind even more evp

* oops
2017-06-06 07:57:35 -04:00
Alex Gaynor
e2e8782405 Do more retries in linkcheck because NIST websites are down a lot (#3683) 2017-06-05 15:51:48 -10:00
Paul Kehrer
023eccfc04 bind EVP_PKEY_get1_tls_encodedpoint because X25519 (#3682) 2017-06-05 20:45:44 -04:00
Paul Kehrer
580f434b34 add EVP_PKEY_keygen and EVP_PKEY_keygen_init for x25519/ed25519 (#3681)
* add EVP_PKEY_keygen and EVP_PKEY_keygen_init for x25519/ed25519

* add a few more bindings we'll need for X25519
2017-06-05 07:04:54 -04:00
Paul Kehrer
a8ba6654c2 bind EVP_CTRL_AEAD even when on < 1.1.0 (#3679) 2017-06-04 22:42:16 -04:00
Paul Kehrer
cf7b35403d when you :%s/\:/=/g sometimes there's a colon you shouldn't have touched (#3678) 2017-06-04 21:02:58 -04:00
Alex Gaynor
5afd5694d2 Change the link to appease linkcheck (#3677) 2017-06-04 13:25:53 -10:00
Paul Kehrer
e3ff364f68 fix symmetric encryption interfaces heading (#3676) 2017-06-04 17:48:32 -04:00
Paul Kehrer
a8b1c6e9b1 document invalidtag (#3675)
* document invalidtag

* move invalidtag
2017-06-04 17:48:24 -04:00
Paul Kehrer
66dcd38fad add ChaCha20Poly1305 test vectors from OpenSSL/RFC7539 (#3673)
* add ChaCha20Poly1305 test vectors from OpenSSL/RFC7539

* add the boringssl tests as well

* highlight the lines
2017-06-04 17:09:03 -04:00
Alex Gaynor
3ff51d49aa typo fix (#3674) 2017-06-04 10:38:55 -10:00
Alex Gaynor
3661011e39 Remove a line from "Why do we exist" (#3672)
I have no idea what this meant
2017-06-04 10:02:09 -10:00
Alex Gaynor
eadebec001 Refs #3646 -- include stdout in the output when spawning a process fails in the release script (#3671) 2017-06-04 09:51:09 -10:00
Alex Gaynor
6a0718fadd Refs #3461 -- parse SCTs from x.509 extension (#3480)
* Stub API for SCTs, feedback wanted

* grr, flake8

* finish up the __init__

* Initial implementation and tests

* write a test. it fails because computer

* get the tests passing and fix some TODOs

* changelog entry

* This can go now

* Put a skip in this test

* grump

* Removed unreachable code

* moved changelog to the correct section

* Use the deocrator for expressing requirements

* This needs f for the right entry_type

* coverage

* syntax error

* tests for coverage

* better sct eq tests

* docs

* technically correct, the most useless kind of correct

* typo and more details

* bug

* drop __eq__
2017-06-04 07:36:58 -10:00
Alex Gaynor
140ec5d6e2 Fixes #2347 -- link to the stdlib secrets module in our random number generation section (#3669) 2017-06-04 05:51:31 -10:00
Paul Kehrer
1a5d70e876 deprecate signer/verifier on asymmetric keys (#3663)
* deprecate signer/verifier on asymmetric keys

* review feedback, switch deprecated_call to work around a bug
2017-06-03 23:11:55 -04:00
Alex Gaynor
e6055fbfb2 call check_backend_support directly from backend fixture (#3666) 2017-06-03 16:02:50 -10:00
Alex Gaynor
133a17971a Switched our backend to be a normal fixture in tests (#3665) 2017-06-03 14:38:22 -10:00
Paul Kehrer
cb175069bf revert codecov.yml workaround and pin coverage to 4.3.4 (#3662)
* Revert "Attempted workaround for intermittent coverage issues (#3661)"

This reverts commit 84a634c1e7.

* pin coverage to 4.3.4
2017-06-03 14:26:56 -04:00
Alex Gaynor
84a634c1e7 Attempted workaround for intermittent coverage issues (#3661)
The root cause is https://bitbucket.org/ned/coveragepy/issues/578/incomplete-file-path-in-xml-report
2017-06-03 07:49:54 -10:00
Alex Gaynor
42b2571847 Fixes #3653 -- attempt to retry git clones up to 3 times (#3660) 2017-06-03 06:04:32 -10:00
Paul Kehrer
26fcc5c24d make signature and verification contexts error better re: prehashed (#3658)
* make signature and verification contexts error better re: prehashed

* code review feedback
2017-06-02 13:51:09 -04:00
Alex Gaynor
a7e9a22886 Simplify git clones in Jenkinsfile (#3654) 2017-06-01 10:02:14 -05:00
Jeroen Ruigrok van der Werven
5f84523b6c FreeBSD 10 and higher use Fortuna, not Yarrow (#3652) 2017-06-01 08:29:16 -04:00
Paul Kehrer
b637aec162 runtime detection of getentropy for macOS via weak-linking (#3650)
* runtime detection of getentropy for macOS via weak-linking

In the before time, in the long long ago, there was a desire to use
getentropy on macOS. So some code was written and it detected getentropy
support by seeing if SYS_getentropy was available in the headers. But
lo, it turns out Apple ships headers for different SDK versions and
users on < 10.12 were getting headers that had SYS_getentropy even
though their OS did not support it. There was much wailing and
gnashing of teeth, but the frustrated developers remembered that Apple
wants their developers to use weak linking. With weak linking the mighty
developer can specify a minimum version and any symbol that was added
after that version will be weakly linked. Then, at runtime, the dynamic
linker will make unavailable symbols thus marked into NULLs. So, the
developer need only alter their code to do runtime detection of weakly
linked symbols and then a single binary may be compiled that will
correctly select getentropy or /dev/urandom at runtime. Hallelujah!

* oops

* separate the enum

* okay just apple
2017-05-30 21:56:15 -04:00
Paul Kehrer
5ca7eb7506 move files to make the next PR easier to read (#3651) 2017-05-30 16:40:07 -04:00
Alex Gaynor
24f3d5b088 Remove a binding that hasn't been used for a while (#3643) 2017-05-30 08:11:10 -05:00
Paul Kehrer
ece3af1aa5 for humans is irritating, let's stop saying it (#3647) 2017-05-30 00:03:10 -04:00
Paul Kehrer
1d08e5104a download artifacts from new jenkins (#3645)
turns out new jenkins changed its JSON a bit.
2017-05-29 23:23:56 -04:00
Alex Gaynor
b90e8d81a3 Post release tasks to open master for 2.0 (#3644) 2017-05-29 22:10:39 -05:00
Paul Kehrer
23ead43fd7 1.9 version bump and changelog (#3641) 2017-05-29 22:10:46 -04:00
Paul Kehrer
66e6695f73 update to new CI server for wheels + switch to using a job token (#3638)
* update to new CI server for wheels + switch to using a job token

* avoid slash folding
2017-05-29 21:48:37 -04:00
Paul Kehrer
5a284e6ded update the docs with new jenkins CI URL & mac openssl upgrade process (#3639) 2017-05-29 18:09:23 -04:00
Paul Kehrer
0db218e7d8 reorder the primitives list and improve a few titles (#3640) 2017-05-29 18:09:05 -04:00
Paul Kehrer
cc78c30fd9 add a jenkinsfile for building wheels (#3636)
* add a jenkinsfile for building wheels

* remove scripts we don't need now

* still do the list of installed items on the mac builder

* build 2.6, don't bother with 2.7 ucs4 on mac, simplify batch
2017-05-29 17:51:02 -04:00
Fraser Tweedale
d607dd7e5b Enlarge _oid2txt buffer to handle larger OIDs (#3612)
The OpenSSL manual recommends a buffer size of 80 for OBJ_oid2txt:
https://www.openssl.org/docs/crypto/OBJ_nid2ln.html#return_values.
But OIDs longer than this occur in real life (e.g. Active Directory
makes some very long OIDs).  If the length of the stringified OID
exceeds the buffer size, allocate a new buffer that is big enough to
hold the stringified OID, and re-do the conversion into the new
buffer.
2017-05-29 16:33:20 -05:00
Paul Kehrer
7bc36865fc move MACContext to mac.py and eliminate interfaces.py (#3631)
* move MACContext to mac.py and eliminate interfaces.py finally

* improve title

* re-add and deprecate interfaces.MACContext

* use pytest.warns instead of deprecated_call

The pytest docs insist that deprecation warnings are handled differently
and that you should use deprecated_call, but this works so okay then
2017-05-29 11:13:35 -04:00
Paul Kehrer
f99d45e30b add a jenkinsfile for updating homebrew openssl on jenkins builders (#3630) 2017-05-29 09:51:32 -04:00