Commit Graph

105 Commits

Author SHA1 Message Date
Brian Smith bee17185e8 0.18.0-alpha. 2017-12-24 10:49:52 -10:00
Brian Smith 0947581225 Update *ring* and untrusted dependencies. 2017-12-24 10:49:52 -10:00
Brian Smith ee9253656a 0.18.0.
`webpki::Error` has a backward-incompatible change.
2017-08-31 14:15:02 -10:00
Brian Smith 937122ff74 Initial DNS name validation test vectors. 2017-08-31 13:07:29 -10:00
Brian Smith 22cd1ab6f5 Add tests/* to Cargo.toml includes.
In particular, enable the running of the integration tests from the
packaged crate.
2017-08-29 16:07:32 -10:00
Brian Smith f3d80feafd 0.17.0: Use *ring* 0.17.0, untrusted 0.5.1, base64 0.6.0. 2017-08-27 17:50:25 -10:00
Brian Smith 103c6ab22b Test --no-default-features --features=trust_anchor_util config. 2017-08-27 10:24:29 -10:00
Brian Smith 03d2500e68 0.16.0. 2017-08-27 00:37:46 -10:00
Brian Smith ba2438dd3c Make `std` a default feature. 2017-08-27 00:37:16 -10:00
Brian Smith e3cd06a02c Add src/{calendar.rs, time.rs} to Cargo.toml; clean up duplicate entries. 2017-08-27 00:07:35 -10:00
Brian Smith a1937781b7 0.14.0. 2017-08-27 00:04:31 -10:00
Brian Smith 827d085673 Conform to draft Rust API guidelines regarding "std" feature name.
See https://rust-lang-nursery.github.io/api-guidelines/naming.html#feature-names-are-free-of-placeholder-words-c-feature.
2017-08-18 10:46:35 -10:00
Joseph Birr-Pixton 7f38a1dbc7 Expose our own time type `webpki::Time`
You can make one of these using `webpki::Time::from_seconds_from_unix_epoch`.

- Move ASN1 conversion functions to "calendar.rs", and add some tests.
- The new feature `use_std` adds `from<std::time::SystemTime>` to `webpki::Time`.
- Fixate time in tests/integration to prevent future expiry.
- Add a library-external test of `use_std` feature.
- Run tests with `use_std` and without.
2017-08-18 10:40:46 -10:00
Brian Smith edbbb81329 Drop dependency on the time crate; use `std::time::SystemTime`. 2017-08-18 10:40:25 -10:00
Brian Smith 68c6f09504 0.14: Use *ring* 0.11. 2017-06-12 11:06:04 -10:00
Brian Smith 49e89b7831 0.13.0. 2017-06-07 15:47:23 -10:00
Brian Smith e329c309a7 0.12.1: Update to *ring* 0.9.4. 2017-05-08 16:48:14 -10:00
Brian Smith d67b5f0408 0.12.0: Use *ring* 0.9. 2017-05-07 10:42:33 -10:00
Brian Smith 59596080e7 0.11.0: Require *ring* 0.8 and untrusted 0.5. 2017-05-01 14:40:21 -10:00
Joseph Birr-Pixton 62da34656b Use base64 crate instead of rustc-serialize.
This is also now a dev-dependency, since it's only used in tests.
2017-04-24 11:04:49 -10:00
Brian Smith 6eb6785b9a 0.10.2. 2017-04-12 16:14:40 -10:00
Brian Smith fd31bf7fef 0.10.1. 2017-04-01 18:28:21 -10:00
Brian Smith 0a209793a1 Add categories to Cargo.toml. 2017-04-01 18:28:03 -10:00
Brian Smith 1b5ed08a5b Switch back to depending on non-alpha 0.7 release of *ring*. 2017-03-19 10:02:47 -10:00
Brian Smith 63e2f56051 0.10.1-alpha1: Depend on *ring* 0.7.2-alpha1. 2017-03-18 17:58:54 -10:00
Brian Smith af55a9861e 0.10.0: Require *ring* 0.7. 2017-02-18 12:13:49 -10:00
Brian Smith eb7dc6f374 0.9.2; depends on *ring* 0.6.3. 2017-01-26 10:20:31 -10:00
Brian Smith 307c420f25 0.9.1; require *ring* 0.6.1. 2016-12-22 14:15:25 -10:00
Brian Smith 4377481b8f 0.9.0; require *ring* 0.6. 2016-12-20 22:59:10 -10:00
Brian Smith 0f59dda8d6 0.8.1: Require *ring* 0.6.0-alpha1. 2016-12-08 21:09:28 -10:00
Brian Smith 3c8fa998b8 Simplify Cargo.toml include/exclude.
This should reduce the likelihood that some test files will be excluded
from the package unintentionally.
2016-12-08 14:27:50 -10:00
Brian Smith d2169004c0 Simplify AlgorithmIdentifier parsing & matching.
Simplify the way algorithm identifiers are parsed. Simplify the tests
to account for the new simpler parsing.

Simplify how algorithm identifiers are matched against known algorithm
identifiers by using just bytewise comparison.

Simplify the storage of known algorithm identifiers by including their
binary DER-encoded values from files in src/data/. Remove most of the
macros for encoding OID values as they are no longer needed. Remove the
script for generating PSS-related AlgorithmIdentifier parts in favor of
using der-ascii in the future, as documented in src/data/README.md.
Remove the encoded PSS parts generated from the deleted script, as they
were replaced in this transition.
2016-11-21 13:19:40 -10:00
Brian Smith fff5b1c628 0.8.0: Remove support for RSA PKCS#1 1.5 signatures w/o NULL parameter.
Based on some research the Google Chrome team did, there's no strong
need to support rsaEncryption signatures where the NULL is missing
unless/until we add OCSP support.
2016-11-21 13:05:39 -10:00
Joseph Birr-Pixton 82080d02ba Add support for PSS.
This has tests generated by openssl, and integrated with
the existing chromium verify_signed_data corpus.

The PSS parameter encodings are slightly unwieldy, and
are included from files rather than embedded in the source.

There are python scripts for regenerating the parameter encodings
and tests.
2016-11-21 12:36:46 -10:00
Brian Smith c26bca4700 0.7.0: Remove NIST Open Systems Environment (OSE) SHA-1 OID.
This enables us to support exactly one OID per signature algorithm.
A Censys search found no publicly-trusted certificates using this OID:
https://censys.io/certificates?q=parsed.signature.signature_algorithm.oid%3A+1.3.14.3.2.29

This won't impact uses of RSA PKCS#1 SHA-1 for ServerKeyExchange
signatures since those signatures don't identify the algorithm using
OIDS.
2016-11-17 11:28:16 -10:00
Brian Smith 7255c5537e Remove ECDSA-SHA1 support; Bump version to 0.6.0. 2016-10-27 23:31:52 -10:00
Brian Smith 0b49d9da61 0.5.1; Require *ring* 0.5.3+.
*ring* 0.5.3 includes a fix for ECDSA verification.
2016-10-26 19:37:18 -10:00
Brian Smith b42df860ce webpki 0.5; Require *ring* 0.5.1.
This also aligns the version numbers, at least temporarily.
2016-10-25 11:21:45 -10:00
Brian Smith 161d01cd79 Upgrade to *ring* 0.5; Update version to 0.4.
*ring* 0.5 includes fixes for building on BSDs.
2016-10-24 18:42:27 -10:00
Brian Smith 7b99d68568 Update to *ring* 0.4.0. 2016-08-28 18:37:51 -10:00
Brian Smith 12265db4d5 Fix build breakage with Rust Nightly.
`drop_with_repr_extern` was removed when Drop flags were removed.
2016-08-27 10:38:45 -10:00
Brian Smith 220acd14a9 Bump version number for publication. 2016-08-26 12:04:05 -10:00
Brian Smith dcbebfae70 Bump versions.
* Update *ring* requirement to 0.3.0.
* Update Appveyor configuration to use Rust 1.11.0 on stable, which is
  the latest Rust version and the minimum required by *ring*.
* Bump version number to indicate these are incompatible changes.
* Drop leftover remnants of MSVC 2013 testing on Appveyor.
2016-08-24 00:46:09 -10:00
Brian Smith f812333a3d Prepare for publishing on crates.io. 2016-08-15 15:32:19 -10:00
Brian Smith 5f73366ecc Use *ring* from crates.io. 2016-08-15 15:28:00 -10:00
Brian Smith cee177915f Add documentation links. 2016-08-12 16:05:12 -10:00
Brian Smith 7fbdb4ce59 Update untrusted dependency. 2016-08-11 09:02:25 -10:00
Brian Smith e94f88b5e6 Use untrusted 0.2 from crates.io. 2016-07-02 22:00:49 -10:00
Brian Smith 4790f4fd4c Fix build.
The feature name was inconsistent in the source code and Cargo.toml.
Consequently, it wasn't noticed that webpki::trust_anchor_util was
broken due to the `!#[no_std]` change. Also fix that.
2016-06-06 10:21:15 -10:00
Brian Smith 0ebf354d84 Use `#![no_std]`, limiting libstd dependency to `trust_anchor_util`.
`webpki::trust_anchor_util` is now an optional feature, enabled using
the feature "trust_anchor_util", which is enabled by default. It is the
only part of webpki other than the tests to use libstd. If the
"trust_anchor_util" default feature is disabled, then webpki should build
and work against libcore.
2016-06-05 13:57:49 -10:00
Brian Smith 2f3c98c178 Updates for untrusted.rs API changes. 2016-06-05 13:26:46 -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 f9ac40dd2b Add time 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 7ad4cbd4aa Boilerplate. 2015-08-27 10:23:24 -07:00