Commit Graph

400 Commits

Author SHA1 Message Date
Brian Smith 72a3ad9d3c Use `ring::der::positive_integer` for serial numbers. 2016-05-23 18:10:54 -10:00
Brian Smith a157f83b0d Sync Appveyor script with *ring*.
Integrate the Yasm download and and performance improvements that were
done in *ring*.
2016-05-10 11:21:10 -10:00
Brian Smith 99c2670d27 Sync with *ring*'s mk/update-travis-yml.py. 2016-05-06 18:16:24 -10:00
Brian Smith 50888dac35 Use Rust 1.8 for release builds on Appveyor. 2016-05-06 17:52:57 -10:00
Brian Smith 01b15d06c6 Sync with *ring* signature API changes.
Also, add `RSA_PKCS1_3072_8192_SHA384` to the tests.
2016-02-27 21:22:52 -10:00
Brian Smith f184ab3639 Sync CI configuration with *ring*'s. 2016-01-05 22:12:32 -10:00
Brian Smith a748d296d2 Add RSA_PKCS1_3072_8192_SHA384 to the public API. 2016-01-05 18:33:46 -10:00
Brian Smith 9c4a4bff2e Resync code with *ring*. 2016-01-05 18:31:06 -10:00
Brian Smith b9e5de0d76 Add NSA Suite B RSA_PKCS1_3072_8192_SHA384 algorithm. 2015-12-11 14:10:08 -10:00
Brian Smith 0a2d7891d4 use new |ring::signature| API for verifying signatures. 2015-12-10 18:25:16 -10:00
Brian Smith 46d1725a95 Use |ring::input| and |ring::der|.
|webpki::input| was copied to |ring::input|. The core of |webpki::der|
was copied to |ring::der|. This change removes the duplicate code from
libwebpki and adapts the rest of libwebpki accordingly.
2015-12-10 17:48:32 -10:00
Brian Smith d74e35f441 Sync Travis CI config with *ring*. 2015-12-06 11:30:53 -10:00
Brian Smith d48e51f85b Fix Windows release builds & sync Cargo.toml with *ring*.
Release builds on Windows fail to link if debugging info is included
due to a rustc/LLVM bug, so disable debugging info in release builds.
This matches what is done in *ring* for the same reasons.
2015-12-06 11:24:45 -10:00
Brian Smith 973dce8a48 Remove trailing whitespace. 2015-12-06 11:24:36 -10:00
Brian Smith 39b2c63654 Sync CI configuration with *ring* & update to Rust 1.4. 2015-10-29 12:42:48 -10:00
Brian Smith 0d259e5e3c Update Appveyor CI configuration for Rust 1.3. 2015-10-17 14:34:16 -10:00
Brian Smith 819a053456 Remove trailing whitespace from appveyor.yml. 2015-09-15 22:06:18 -07:00
Brian Smith 47629c7ca0 Point build status buttons to the master branch. 2015-09-15 22:05:59 -07:00
Brian Smith e58e78c9c8 Remove unnecessary |extern crate rustc_serialize;|. 2015-09-15 17:37:48 -07:00
Brian Smith a09e429271 Update for *ring*'s API refactoring.
The *ring* refactoring fixed the |Digest| type so that it is now no
longer necessary to use the heap (|Vec| in particular) at all in
libwebpki.
2015-09-15 17:33:43 -07:00
Brian Smith 08f76d0dd5 Fix wildcard name matching. 2015-09-15 17:32:52 -07:00
Brian Smith b808268039 Improve the parsing and matching of OIDs.
This just factors out the matching of common prefixes when looking up
OIDs. It probably isn't significantly faster but it is less code and
hopefully less object code.

This also removes support for the id-pe-authorityInfoAccess extension.
We saved the value of the extension but it wasn't being used anywhere.
2015-09-01 11:19:31 -07:00
Corey Farwell eefa02dd6a Fix incorrect doc-comment syntax.
Closes #4.
2015-08-27 20:18:04 -07:00
Corey Farwell 00eba2a7db Simplify travis config, only specify language:rust once.
Closes #5.
2015-08-27 20:13:07 -07:00
Brian Smith cf7dc6b6d0 Remove Note about rebasing the wip branch from README.md.
The revision numbers for dependencies get baked into Cargo.lock, so rebasing
would break anything that depends on this using a git-based dependency, so
there will be no rebasing.
2015-08-27 11:34:33 -07:00
Brian Smith 52c0623a87 Add Travis & Appveyor. 2015-08-27 10:23:38 -07:00
Brian Smith 67f0b6d23c Refactor and document |Input| and |Reader|. 2015-08-27 10:23:38 -07:00
Brian Smith 400553bc91 Add |trust_anchor_util|. 2015-08-27 10:23:37 -07:00
Brian Smith a704a9bd81 Make the |webpki::input| module public. 2015-08-27 10:23:37 -07:00
Brian Smith e7a7e45b5f Add |verify_tls_cert|.
add verify_tls_cert function.
2015-08-27 10:23:36 -07:00
Brian Smith b3288693fb Name constraints [2/3]: Directory name constraints. 2015-08-27 10:23:36 -07:00
Brian Smith 8a159ce048 Name constraints [2/3]: IP address name constraints. 2015-08-27 10:23:35 -07:00
Brian Smith 589c6e0630 Name constraints [1/3]: Check dNSName constraints. 2015-08-27 10:23:35 -07:00
Brian Smith 293355f7dc Name validation [2/2]: Add |verify_cert_dns_name|. 2015-08-27 10:23:34 -07:00
Brian Smith d1d54f169e Name validation [1/2]: Validate DNS ID syntax. 2015-08-27 10:23:34 -07:00
Brian Smith aea9e55d02 Verify certificate signatures. 2015-08-27 10:23:33 -07:00
Brian Smith 103637a5aa Add |build_chain|. 2015-08-27 10:23:33 -07:00
Brian Smith 00183b90bf Add |check_issuer_independent_properties|. 2015-08-27 10:23:32 -07:00
Brian Smith 5d145cbdf9 Validate extended key usage. 2015-08-27 10:23:32 -07:00
Brian Smith 09734f4e5b Validate basic constraints. 2015-08-27 10:23:31 -07:00
Brian Smith ed9bd2b4f1 Unwrap inner sequence in extensions early. 2015-08-27 10:23:30 -07:00
Brian Smith 2974a57b00 Validate notBefore and notAfter. 2015-08-27 10:23:30 -07:00
Brian Smith f9ac40dd2b Add time parsing. 2015-08-27 10:23:29 -07:00
Brian Smith 7cff654f54 Add certificate parsing. 2015-08-27 10:23:29 -07:00
Brian Smith a43b691427 Add parsing and verification of signed data. 2015-08-27 10:23:28 -07:00
Brian Smith 7f0632ba67 Import Chromium's |verify_signed_data| test data. 2015-08-27 10:23:28 -07:00
Brian Smith 6b60cbd719 Add ASN.1 DER parsing framework. 2015-08-27 10:23:27 -07:00
Brian Smith 62a20c6df2 Add |read_all| and |read_all_optional|. 2015-08-27 10:23:27 -07:00
Brian Smith 461451eab0 Add |Input|/|Reader| parsing framework. 2015-08-27 10:23:26 -07:00
Brian Smith 7ad4cbd4aa Boilerplate. 2015-08-27 10:23:24 -07:00