Commit graph

2541 commits

Author SHA1 Message Date
Paul Kehrer
cea8a236ae
i grow weary of www.cosic.esat.kuleuven.be (#10045) 2023-12-23 15:58:41 +00:00
Alex Gaynor
c9578f28a1
Fixed a typo in test-vectors documentation (#10041) 2023-12-23 12:45:31 -03:00
Paul Kehrer
eac469a5c0
we call it unstable in the changelog and not experimental (#10040)
let's be consistent
2023-12-23 13:51:26 +00:00
William Woodruff
d3f28d3ad8
x509/verification: add an API usage example (#10036)
* x509/verification: add an API usage example

Signed-off-by: William Woodruff <william@yossarian.net>

* Apply suggestions from code review

Co-authored-by: Alex Gaynor <alex.gaynor@gmail.com>

---------

Signed-off-by: William Woodruff <william@yossarian.net>
Co-authored-by: Alex Gaynor <alex.gaynor@gmail.com>
2023-12-22 19:15:56 -05:00
William Woodruff
38461e1c6d
CHANGELOG: record #8873 (#10035)
* CHANGELOG: record #8873

Signed-off-by: William Woodruff <william@yossarian.net>

* docs/x509/verification: clean up, update note

Signed-off-by: William Woodruff <william@yossarian.net>

* add module ref

Signed-off-by: William Woodruff <william@yossarian.net>

* CHANGELOG: Cryptograpy's -> our

Signed-off-by: William Woodruff <william@yossarian.net>

* CHANGELOG: reflow, better linkage

Signed-off-by: William Woodruff <william@yossarian.net>

---------

Signed-off-by: William Woodruff <william@yossarian.net>
2023-12-22 22:48:13 +00:00
Alex Gaynor
fb4c72c8bf
Added wycheproof vectors for pbkdf2 (#10024) 2023-12-21 08:30:36 -06:00
Paul Kehrer
2525eb048a
support RSA PSS for CRLs (#10013)
adds rsa_padding kwarg to sign and also adds
signature_algorithm_parameters as a method to CRLs
2023-12-18 17:54:38 -05:00
Alex Gaynor
a8b96dab9b
Simplify the release process: No need to pass the version to release.py (#9990) 2023-12-12 06:09:51 -08:00
Alex Gaynor
cd9cb8b488
Remind people about rust in the dev docs (#9985) 2023-12-10 17:39:06 +00:00
Alex Gaynor
0a1f26b48f
Document tests-nocoverage in our dev docs (#9984)
There's limited value in running coverage locally, since no single build produces 100% coverage
2023-12-10 11:29:29 -06:00
Alex Gaynor
61676b5b05
Update development docs (#9977)
- No special configuration is required for brew or macports OpenSSL anymore
- There's no point in documenting building local docs, it's basically never necessary
2023-12-09 08:36:46 -06:00
Paul Kehrer
d06a6a17cb
regenerate x509/custom/ca/ca.pem to expire in 2100 (#9964)
The existing cert doesn't expire until late 2038 but this simplifies
2038 checks for some downstream consumers. We shift the original
cert/key into a new pkcs12/ca directory so that we don't need to
regenerate all the PKCS12 vectors (which don't care about expiry anyway)
2023-12-05 09:21:37 -05:00
Facundo Tuesca
ca4f40621d
Add support for AES-GCM-SIV using OpenSSL>=3.2.0 (#9843) 2023-12-02 09:39:19 -06:00
Alex Gaynor
f1817f8077
Slightly alter AEAD benchmark code to solve problem AES-GCM-SIV hit (#9948) 2023-12-01 18:42:42 -06:00
Facundo Tuesca
6359dc0e04
Add test vectors for AES-GCM-SIV (#9930) 2023-12-01 10:46:29 -06:00
Paul Kehrer
64b3658ee5
port 41.0.6 changelog (#9928)
* port 41.0.6 changelog

* spelling
2023-11-27 20:40:13 +00:00
Alex Gaynor
b7d52c7f9d
Remove more u prefixes (#9884) 2023-11-16 00:20:37 +00:00
Logan Hunt
0d1035feed
Remove u prefix from strings (#9882) 2023-11-15 23:02:45 +00:00
William Woodruff
380fda6cbc
Fix transposed doc, simplify type in trust store test (#9874)
* trust_store: simplify assert RHS type

Signed-off-by: William Woodruff <william@trailofbits.com>

* docs/verification: fix transposed doc item

Signed-off-by: William Woodruff <william@trailofbits.com>

---------

Signed-off-by: William Woodruff <william@trailofbits.com>
2023-11-13 21:36:11 +00:00
William Woodruff
9ba13da437
verification: add VerificationError, doc APIs (#9873)
Signed-off-by: William Woodruff <william@trailofbits.com>
2023-11-13 16:21:32 -05:00
Alex Gaynor
420ad4e245
Fix some warnings from ruff --preview (#9842) 2023-11-09 17:37:56 -06:00
William Woodruff
e7dbca6260
verification: add missing max_chain_depth kwargs (#9847)
Missed these on the original PR.

Signed-off-by: William Woodruff <william@trailofbits.com>
2023-11-09 22:43:03 +00:00
William Woodruff
7d451dbd9a
src, tests: add max_chain_depth to validation API (#9844)
* src, tests: all max_chain_depth to validation API

Signed-off-by: William Woodruff <william@trailofbits.com>

* docs: document max_chain_depth

Signed-off-by: William Woodruff <william@trailofbits.com>

* verify: simplify type

Signed-off-by: William Woodruff <william@trailofbits.com>

* validation: document DEFAULT_MAX_CHAIN_DEPTH

Signed-off-by: William Woodruff <william@trailofbits.com>

---------

Signed-off-by: William Woodruff <william@trailofbits.com>
2023-11-09 20:34:27 +00:00
Paul Kehrer
e958374785
add support for signing PKCS7 using RSA PSS (#9829)
* add support for signing PKCS7 using RSA PSS

* mypy fixes
2023-11-04 04:59:39 +00:00
William Woodruff
d643b04eb7
Add top-level ServerVerifier.verify API (#9805)
* Add top-level ServerVerifier.verify API

This is a breakout from #8873, with just the interface/types and
a `NotImplementedError` stub.

Signed-off-by: William Woodruff <william@trailofbits.com>

* verification: move Store into PolicyBuilder/ServerVerifier

Signed-off-by: William Woodruff <william@trailofbits.com>

* verification: docs

Signed-off-by: William Woodruff <william@trailofbits.com>

* lintage

Signed-off-by: William Woodruff <william@trailofbits.com>

* docs: document ServerVerifier.store

Signed-off-by: William Woodruff <william@trailofbits.com>

---------

Signed-off-by: William Woodruff <william@trailofbits.com>
2023-10-31 15:03:35 -04:00
Alex Gaynor
1cb847a597
Updates to dev docs (#9780)
- Stop talking about black
- Use type annotations in examples
2023-10-26 00:49:20 +00:00
Paul Kehrer
9d41ee63f0
test on sonoma on M1 (#9777)
* test on sonoma on M1

* sonoma is also a word
2023-10-25 17:39:20 -04:00
Alex Gaynor
a87d041ab7
Bump default CI job to 3.12 (#9697) 2023-10-05 07:39:31 -05:00
Facundo Tuesca
566fcd6c4d
Deprecate naive datetime x509 APIs (#9667)
* Deprecate naive datetime x509 APIs

* Add missing tests for timezone-aware x509 APIs

* Document the deprecation of the naive datetime APIs
2023-09-29 09:58:48 -05:00
Facundo Tuesca
ce94de03e8
Add timezone-aware API variants for x509 (#9661)
* Add timezone-aware API variants for x509

* Add documentation for timezone-aware APIs
2023-09-28 10:45:30 -05:00
Alex Gaynor
699449302e
More CF domains making linkcheck not work (#9626)
* More CF domains making linkcheck not work

* Update conf.py
2023-09-19 06:51:40 -07:00
William Woodruff
73d070e853
Path validation: builder/verifier API skeletons (#9405)
* src, tests: flatten all changes

Signed-off-by: William Woodruff <william@trailofbits.com>

validation: remove Profile abstract from public APIs

One step towards removing it entirely

Signed-off-by: William Woodruff <william@trailofbits.com>

policy: disambiguate references

Signed-off-by: William Woodruff <william@trailofbits.com>

policy: remove separate rfc5280 profile

Signed-off-by: William Woodruff <william@trailofbits.com>

policy: remove profile abstraction entirely

Signed-off-by: William Woodruff <william@trailofbits.com>

rust: permitted_algorithms filtering

Signed-off-by: William Woodruff <william@trailofbits.com>

verify: simplify policy API substantially

No more manual monomorphization.

Signed-off-by: William Woodruff <william@trailofbits.com>

src, tests: remove verification code

Signed-off-by: William Woodruff <william@trailofbits.com>

validation: remove more validation code

Signed-off-by: William Woodruff <william@trailofbits.com>

* cryptography, rust: lintage

Signed-off-by: William Woodruff <william@trailofbits.com>

* cryptography, rust: lintage, add Policy.subject API

Signed-off-by: William Woodruff <william@trailofbits.com>

* src, tests: initial PolicyBuilder tests

Signed-off-by: William Woodruff <william@trailofbits.com>

* verify: Policy.validation_time getter

Signed-off-by: William Woodruff <william@trailofbits.com>

* push Store into rust

Signed-off-by: William Woodruff <william@trailofbits.com>

* cleanup, fixup

Signed-off-by: William Woodruff <william@trailofbits.com>

* tests: lintage

Signed-off-by: William Woodruff <william@trailofbits.com>

* src: lintage

Signed-off-by: William Woodruff <william@trailofbits.com>

* tests: fix linter warning

* policy: apply the relevant parts of trail-of-forks/cryptography/pull/3

Signed-off-by: William Woodruff <william@trailofbits.com>

* policy: typo

Signed-off-by: William Woodruff <william@trailofbits.com>

* fixup type hints

Signed-off-by: William Woodruff <william@trailofbits.com>

* drop dep

Not used, yet.

Signed-off-by: William Woodruff <william@trailofbits.com>

* Revert "drop dep"

This reverts commit a5154e1245e666a79838cd73784884fad6743e7f.

* mod: remove permits_* bodies

Will include these in a subsequent PR.

Signed-off-by: William Woodruff <william@trailofbits.com>

* src: drop certificate helpers as well

Not needed yet.

Signed-off-by: William Woodruff <william@trailofbits.com>

* verify: remove unneeded explicit lifetimes

Signed-off-by: William Woodruff <william@trailofbits.com>

* tests: builder API coverage

Signed-off-by: William Woodruff <william@trailofbits.com>

* tests: more coverage

Signed-off-by: William Woodruff <william@trailofbits.com>

* type hints

Signed-off-by: William Woodruff <william@trailofbits.com>

* unused derives

Signed-off-by: William Woodruff <william@trailofbits.com>

* validation: more coverage

Signed-off-by: William Woodruff <william@trailofbits.com>

* policy: more cov

Signed-off-by: William Woodruff <william@trailofbits.com>

* policy: more coverage

Signed-off-by: William Woodruff <william@trailofbits.com>

* policy: add some known bad testcases

Signed-off-by: William Woodruff <william@trailofbits.com>

* policy: coverage

Signed-off-by: William Woodruff <william@trailofbits.com>

* validation: remove trust_store

Not yet used.

Signed-off-by: William Woodruff <william@trailofbits.com>

* ops: add NullOps test

Signed-off-by: William Woodruff <william@trailofbits.com>

* x509: reimplement verify_directly_issued_by via CryptoOps

Tests fail, but this gets the right coverage.

Signed-off-by: William Woodruff <william@trailofbits.com>

* ops: use results

Signed-off-by: William Woodruff <william@trailofbits.com>

* src, tests: last cov, hopefully

Signed-off-by: William Woodruff <william@trailofbits.com>

* test: lintage

Signed-off-by: William Woodruff <william@trailofbits.com>

* docs: fill in API docs

Signed-off-by: William Woodruff <william@trailofbits.com>

* rust: uniform imports

Signed-off-by: William Woodruff <william@trailofbits.com>

* minimize for MVP

No configurable profile, Web PKI only.

Signed-off-by: William Woodruff <william@trailofbits.com>

* verify: remove old NOTE

Signed-off-by: William Woodruff <william@trailofbits.com>

* verify: remove another old NOTE

Signed-off-by: William Woodruff <william@trailofbits.com>

* src, tests: fixup tests

Signed-off-by: William Woodruff <william@trailofbits.com>

* docs: cleanup

Signed-off-by: William Woodruff <william@trailofbits.com>

* src, tests: drop support for missing subjects

As part of the MVP.

Signed-off-by: William Woodruff <william@trailofbits.com>

* profile: remove old comments

Signed-off-by: William Woodruff <william@trailofbits.com>

* policy: remove some verify-adjacent APIs

Paring down for review.

Signed-off-by: William Woodruff <william@trailofbits.com>

* policy: remove more verify-adjacent APIs

Signed-off-by: William Woodruff <william@trailofbits.com>

* policy: remove some From impls

Signed-off-by: William Woodruff <william@trailofbits.com>

* policy: remove rfc5280 constructor

Signed-off-by: William Woodruff <william@trailofbits.com>

* docs: declutter diff

Signed-off-by: William Woodruff <william@trailofbits.com>

* profile: prune even more state

Signed-off-by: William Woodruff <william@trailofbits.com>

* policy: remove old TODO

Signed-off-by: William Woodruff <william@trailofbits.com>

* policy: remove PolicyError

For now.

Signed-off-by: William Woodruff <william@trailofbits.com>

* docs: typo

Signed-off-by: William Woodruff <william@trailofbits.com>

* ops: remove NullOps

Signed-off-by: William Woodruff <william@trailofbits.com>

* rust: remove dev-dep, don't use import

Signed-off-by: William Woodruff <william@trailofbits.com>

* rust: fix IP_ADDRESS rename

Signed-off-by: William Woodruff <william@trailofbits.com>

* docs: clarify time behavior

Signed-off-by: William Woodruff <william@trailofbits.com>

* rename webpki() to new()

Since it doesn't actually do anything WebPKI related at the moment.

Signed-off-by: William Woodruff <william@trailofbits.com>

* docs: relocate

Signed-off-by: William Woodruff <william@trailofbits.com>

* verify: FixedPolicy -> PyCryptoPolicy

Signed-off-by: William Woodruff <william@trailofbits.com>

* verify: simplify SubjectOwner substantially

Signed-off-by: William Woodruff <william@trailofbits.com>

* verify: remove getter helper

Signed-off-by: William Woodruff <william@trailofbits.com>

* verify: reloc TODO

Signed-off-by: William Woodruff <william@trailofbits.com>

---------

Signed-off-by: William Woodruff <william@trailofbits.com>
Co-authored-by: Facundo Tuesca <facundo.tuesca@trailofbits.com>
2023-09-16 20:56:11 +00:00
Alex Gaynor
d35e0f8be8
Be clear that x509.verification is not yet covered by our policies (#9609)
* Be clear that x509.verification is not yet covered by our policies

* Update verification.rst
2023-09-15 13:24:16 -07:00
William Woodruff
3e411cf951
verification: add PolicyBuilder API (#9601)
* verification: add PolicyBuilder API

Signed-off-by: William Woodruff <william@trailofbits.com>

* docs: fix the docs build

Signed-off-by: William Woodruff <william@trailofbits.com>

* docs: drop doc for `webpki()` classmethod

Signed-off-by: William Woodruff <william@trailofbits.com>

* docs, src, test: refactoring

Signed-off-by: William Woodruff <william@trailofbits.com>

* tests: coverage

Signed-off-by: William Woodruff <william@trailofbits.com>

* docs, src, tests: rename `build_server_policy`

Signed-off-by: William Woodruff <william@trailofbits.com>

* Update docs/x509/verification.rst

Co-authored-by: Alex Gaynor <alex.gaynor@gmail.com>

* Update docs/x509/verification.rst

Co-authored-by: Alex Gaynor <alex.gaynor@gmail.com>

* verification: feedback

Signed-off-by: William Woodruff <william@trailofbits.com>

* tests: fix test

Signed-off-by: William Woodruff <william@trailofbits.com>

* tests: fix some more

Signed-off-by: William Woodruff <william@trailofbits.com>

* Update docs/x509/verification.rst

Co-authored-by: Alex Gaynor <alex.gaynor@gmail.com>

---------

Signed-off-by: William Woodruff <william@trailofbits.com>
Co-authored-by: Alex Gaynor <alex.gaynor@gmail.com>
2023-09-14 17:36:01 +00:00
McCoy Patiño
da21e9670b
Add algorithm/MGF properties to asymmetric paddings (#9582)
* Add properties

* Update documentation

* Add tests

* Line length; Expose MGF class

* Remove unnecessary flags
2023-09-11 19:58:01 -04:00
Paul Kehrer
6bdf404054
support PSS signing for CSRs (#9514)
* support PSS signing for CSRs

* doc fix
2023-08-28 23:24:33 +00:00
Alex Gaynor
466d41ce72
Remove FAQ that's no longer up to date (#9484)
I don't think this is the right error message, and it hasn't been for a while
2023-08-22 07:05:13 -07:00
Alex Gaynor
a8dd927f04
Fix ruff on main (#9443) 2023-08-17 14:11:09 +00:00
Facundo Tuesca
b660044dce
Add test vectors for ChaCha20 counter overflow (#9221)
* Adapt ChaCha20 test vectors to 64-bit counter

* Add ChaCha20 test vectors for counter overflow

These vectors test the behavior during counter overflow. Since
different implementations use different counter sizes (e.g. OpenSSL
uses a 64-bit counter, whereas BoringSSL uses a 32-bit counter),
it's important to ensure that the behavior during counter overflow
is consistent between implementations.

These vectors take into account both 32-bit and 64-bit overflows.
2023-08-17 08:54:35 -05:00
William Woodruff
f4362f4e6a
docs: add Store docs (#9416)
* docs: add Store docs

Signed-off-by: William Woodruff <william@trailofbits.com>

* src, tests: don't allow empty stores

Signed-off-by: William Woodruff <william@trailofbits.com>

* Update docs/x509/verification.rst

Co-authored-by: Alex Gaynor <alex.gaynor@gmail.com>

---------

Signed-off-by: William Woodruff <william@trailofbits.com>
Co-authored-by: Alex Gaynor <alex.gaynor@gmail.com>
2023-08-14 18:48:27 +00:00
Paul Kehrer
f7e629f70a
tested platforms update (#9358) 2023-08-04 23:38:13 -04:00
William Woodruff
41d89f1ae6
noxfile, docs: fix posargs handling (#9354)
* noxfile, docs: fix posargs handling

Signed-off-by: William Woodruff <william@trailofbits.com>

* Update docs/development/getting-started.rst

Co-authored-by: Alex Gaynor <alex.gaynor@gmail.com>

---------

Signed-off-by: William Woodruff <william@trailofbits.com>
Co-authored-by: Alex Gaynor <alex.gaynor@gmail.com>
2023-08-04 16:48:15 +00:00
Alex Gaynor
e718a49097
Raise MSRV to 1.63.0 (#9043) 2023-08-03 11:15:07 +12:00
Jean Paul Galea
caeafe6c4a
docs: fix broken link to https://ed25519.cr.yp.to/software.html (#9338) 2023-08-02 19:02:56 +12:00
Paul Kehrer
1961fdb264
update pypy supported versions in the docs (#9318)
* update tested pypy version

* update pypy supported version
2023-07-31 17:41:15 -04:00
Paul Kehrer
1b4bbea008
tolerate (with warning) invalid DSA params encoding in X.509 (#9271)
fixes #9253
2023-07-20 17:10:15 -04:00
Paul Kehrer
b2abc35bda
fix another NIST link (#9270) 2023-07-20 20:27:44 +00:00
Paul Kehrer
c5c99b2d1c
fix a link from the NIST CSRC migration (#9267) 2023-07-20 06:07:58 -04:00
Alex Gaynor
10813b0bed
Finish replacing utcnow (#9260)
refs #9186
2023-07-18 12:37:00 +00:00
Alex Gaynor
e949b2e15c
Prepare for new ruff release (#9227) 2023-07-12 19:40:26 -07:00