Commit Graph

113 Commits

Author SHA1 Message Date
0x676e67 4e819482a1
Update README.md 2024-11-15 10:53:46 +08:00
0x676e67 9523ac82c9
Merge patch (#8) 2024-08-12 09:56:42 +08:00
Ivan Nikulin d59d170c4d Update docs 2023-07-10 12:29:30 +01:00
Piotr Sikora 902e7d0c92 Update BoringCrypto to FIPS 140-2 certificate 4407.
Signed-off-by: Piotr Sikora <piotr@aviatrix.com>
2023-05-09 10:37:32 +02:00
Braden Ehrat 1507689c5b
Add fips-3678 feature (#52)
* Add rerun-if-env-changed instructions for BORING_* variables

* Use X509_get0_notBefore() and X509_get0_notAfter() instead of X509_getm_notBefore() and X509_getm_notAfter().

According to
https://www.openssl.org/docs/man1.1.0/man3/X509_getm_notBefore.html,
"X509_getm_notBefore() and X509_getm_notAfter() are similar to
X509_get0_notBefore() and X509_get0_notAfter() except they return
non-constant mutable references to the associated date field of the
certificate".

* Only update boringssl submodule if BORING_BSSL_PATH not provided

* Allow BORING_BSSL_LIB_PATH to control link search

* Add fips feature

* Use X509_set_notAfter unconditionally for FIPS compatibility

This is equivalent according to
https://boringssl.googlesource.com/boringssl/+/c947efabcbc38dcf93e8ad0e6a76206cf0ec8072

The version of boringssl that's FIPS-certified doesn't have `X509_set1_notAfter`.
The only difference between that and `X509_set_notAfter` is whether they're const-correct,
which doesn't seem worth having two different code-paths.

* Check out fips commit automatically

* Verify the version of the compiler used for building boringssl

NIST specifies that it needs to be 7.0.1; I originally tried building with clang 10 and it failed.
Theoretically this should check the versions of Go and Ninja too, but they haven't given me trouble in practice.

Example error:
```
   Compiling boring-sys v1.1.1 (/home/jnelson/work/boring/boring-sys)
error: failed to run custom build command for `boring-sys v1.1.1 (/home/jnelson/work/boring/boring-sys)`

Caused by:
  process didn't exit successfully: `/home/jnelson/work/boring/target/debug/build/boring-sys-31b8ce53031cfd83/build-script-build` (exit status: 101)
  --- stdout
  cargo:rerun-if-env-changed=BORING_BSSL_PATH

  --- stderr
  warning: missing clang-7, trying other compilers: Permission denied (os error 13)
  warning: FIPS requires clang version 7.0.1, skipping incompatible version "clang version 10.0.0-4ubuntu1 "
  thread 'main' panicked at 'unsupported clang version "cc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0": FIPS requires clang 7.0.1', boring-sys/build.rs:216:13
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
```

* Add Github actions workflow testing FIPS

Co-authored-by: Joshua Nelson <jnelson@cloudflare.com>
2022-01-31 16:11:33 -06:00
Evrard-Nil Daillet c5010de2af pre-built binaries: Update readme and fix clippy 2021-06-01 10:52:36 +02:00
Ivan Nikulin f4096d8afd Add hyper-boring 2020-11-11 20:29:54 +00:00
Ivan Nikulin 548771adb1 Add tokio-boring 2020-11-11 19:26:22 +00:00
Ivan Nikulin 5cb8947d7e Rename stuff 2020-11-11 17:47:30 +00:00
Steven Fackler f5c89a0b94 remove appveyor builds 2020-06-06 13:58:44 -07:00
Steven Fackler a87636f452
Note openssl-sys support
Closes #1169
2019-10-09 21:01:48 -04:00
Steven Fackler 29e4607ed9 Add a note about release support. 2018-10-14 16:04:41 -07:00
Steven Fackler d2cc0eae2d Move README info into crate root docs
This is more discoverable in the modern Rust world!
2018-10-07 19:59:33 -07:00
Steven Fackler 5948898e54 Add some docs to the README about the vendored feature. 2018-07-30 21:19:07 -07:00
eonil e037c0fcb8 Find path prefix to OpenSSL installed by Homebrew. 2018-05-19 03:13:07 +09:00
Florian Gilcher fd19f49d7b
Fix minor typo 2018-04-05 11:20:22 +02:00
Steven Fackler 70a4eef049
Update version 2018-01-25 15:46:46 -08:00
Benjamin Gill 305eddd62d
Add crates.io badge
Make it easier to get to the crates.io page from this repo
2017-12-12 10:33:15 +00:00
Steven Fackler e6dc718070 Remove travis badge 2017-11-20 18:58:29 -08:00
johnthagen 16c3aa43e4 Add instructions for adding OpenSSL DLLs to PATH if needed during install 2017-09-28 10:42:53 -04:00
Steven Fackler bfce446ae8 Mention target specific env vars 2017-09-15 20:08:07 -04:00
Steven Fackler 811be8dae2 Update version in README 2017-08-29 22:00:34 -07:00
Steven Fackler a59d6fc84e Update README.md 2017-08-11 22:45:17 -07:00
Steven Fackler 75d927b2bd Merge pull request #622 from mcgoo/vcpkg
try to find openssl libraries in a vcpkg ports tree
2017-08-11 22:44:46 -07:00
Martin Geisler 04c6b47749 Mention Debian for apt-get instructions
Since Debian is the upstream for Ubuntu (and many other distributions), I think it makes sense to mention it explicitly.
2017-07-22 19:48:56 +02:00
Steven Fackler 9c9a0efafc Remove unused import 2017-07-16 14:31:27 -07:00
Steven Fackler c8ba960bbc Add badges to README 2017-07-16 14:20:16 -07:00
Jim McGrath 6b50d8940d for msvc abi builds, allow use of openssl libs from vcpkg 2017-06-07 09:56:06 -05:00
Oussama Gammoudi 0f02a8b61d Add pkg-config
error: failed to run custom build command for `openssl-sys v0.9.13`
run pkg_config fail: "Failed to run `\"pkg-config\" \"--libs\" \"--cflags\" \"openssl\"`: No such file or directory (os error 2)"

Problem encountered on WSL (Ubuntu on windows).
Fixed by installing pkg-config
2017-06-03 16:21:50 +01:00
Andrew Roetker 663547a758 (maint) Recreate ability to pass in OPENSSL_LIBS variable
Prior to this commit in 43c951f743 the
ability to pass OPENSSL_LIBS was removed from the build.rs of
openssl-sys. This commit adds the ability to pass custom names for the
OPENSSL_LIBS back in. This is useful for when building openssl across
linux and windows with the same lib names (ssl:crypto) and the default
names provided by the build script are not valid.
2017-03-13 19:18:54 -06:00
Steven Fackler 509d0a3102 Fix dangling reference 2017-02-25 16:00:16 -08:00
Steven Fackler 7d9039c37b License all future contributions properly 2017-02-25 15:58:13 -08:00
Leo Tindall 3266e143ce Add note about needing pkg-config
I didn't have it and it took me a bit to figure out what the problem was.
2017-02-19 15:02:31 -06:00
Steven Fackler e18d000f32 Update 1.1.0 version 2017-02-16 08:55:31 -08:00
Steven Fackler 8d290a5371 De-quote README line 2017-02-14 21:34:43 -08:00
Stephan Buys a04594fccd complication -> compilation 2017-02-08 18:58:22 +02:00
Stephan Buys f1ef97beb7 Add MacOS and XCode hint 2017-02-08 10:06:29 +02:00
Steven Fackler cdf388e3f4 Release v0.9.5 2017-01-03 16:09:24 -08:00
Steven Fackler f9404947a3 Some readme tweaks 2017-01-01 11:30:31 -08:00
Steven Fackler 762510a5fa Release v0.9.4 2016-12-23 13:38:52 -05:00
Steven Fackler 3cfcf13880 Merge branch 'master' of github.com:sfackler/rust-openssl 2016-12-20 14:30:56 -08:00
Philipp Keck 65d45bcad8 Explain how to install trusted root certificates
The slproweb.com OpenSSL distribution does not contain root certificates, so they need to be downloaded and installed manually to avoid certificate warnings when making requests.
2016-12-14 17:55:07 +01:00
Aidan Hobson Sayers b090804227 Allow OPENSSL_{LIB,INCLUDE}_DIR to override OPENSSL_DIR 2016-12-12 17:51:35 +00:00
Steven Fackler 791f2c8f4d Release v0.9.3 2016-12-09 21:54:06 -08:00
Steven Fackler 26cefe7d97 Switch to docs.rs for docs 2016-12-09 21:52:43 -08:00
Steven Fackler e2331b29d3 Update README.md 2016-12-02 11:11:24 -08:00
Steven Fackler 0602712bf4 Release v0.9.2 2016-11-27 22:23:32 -08:00
Steven Fackler 0d2d4865e5 Release v0.9.1 2016-11-11 16:45:22 +00:00
Steven Fackler b022bd2d21 Don't recommend light version on Windows
Closes #516
2016-11-08 10:16:48 +00:00
Steven Fackler 72ac2a0105 Release v0.9.0 2016-11-05 20:05:50 -07:00