Go to file
David Benjamin 3a322f5e48 Revise signing preferences.
We currently preferentially sign the largest hash available and
advertise such a preference for signatures we accept. We're just as
happy with SHA-256 and, all else equal, a smaller hash would be epsilon
more performant. We also currently claim, in TLS 1.3, we prefer P-384
over P-256 which is off.

Instead order SHA-256 first, next the larger SHA-2 hashes, and leave
SHA-1 at the bottom. Within a hash, order ECDSA > RSA-PSS > RSA-PKCS1.

This has the added consequence that we will preferentially pair P-256
with SHA-256 in signatures we generate instead of larger hashes that get
truncated anyway.

Change-Id: If4aee068ba6829e8c0ef7948f56e67a5213e4c50
Reviewed-on: https://boringssl-review.googlesource.com/11821
Reviewed-by: Adam Langley <agl@google.com>
2016-10-26 17:20:19 +00:00
.github Add a PULL_REQUEST_TEMPLATE. 2016-03-08 15:23:52 +00:00
crypto Record kCRLTestRoot's private key in the source. 2016-10-25 23:24:21 +00:00
decrepit Fix up macros. 2016-10-18 18:28:23 +00:00
fuzz Fix SSL_CTX_set1_curves fuzzer. 2016-10-26 17:18:42 +00:00
include/openssl Prune some unused prototypes. 2016-10-24 20:10:47 +00:00
infra/config Commit-Queue config: effectively remove Andorid builders. 2016-07-26 13:14:47 +00:00
ssl Revise signing preferences. 2016-10-26 17:20:19 +00:00
third_party/android-cmake Move android-cmake README to METADATA file. 2016-09-14 17:18:51 +00:00
tool Use scopers in tool/ 2016-10-24 20:05:42 +00:00
util Preventing ppc64le files from being generated for Android. 2016-10-06 18:09:37 +00:00
.clang-format Import `newhope' (post-quantum key exchange). 2016-04-26 22:53:59 +00:00
.gitignore
API-CONVENTIONS.md Update API-CONVENTIONS.md for the new scopers. 2016-09-13 18:49:13 +00:00
BUILDING.md Allow .arch directives with Clang. 2016-08-26 17:45:49 +00:00
CMakeLists.txt Fix the run_tests target in fuzzer mode. 2016-10-14 16:01:47 +00:00
codereview.settings No-op change to trigger the new Bazel bot. 2016-07-07 12:07:04 -07:00
CONTRIBUTING.md Add a CONTRIBUTING.md file. 2016-02-10 21:38:19 +00:00
FUZZING.md Add a fuzzer for the SSL_CTX API. 2016-10-04 23:07:09 +00:00
INCORPORATING.md Remove backslash. 2016-07-07 21:39:44 +00:00
LICENSE Add some bug references to the LICENSE file. 2016-02-22 20:16:48 +00:00
PORTING.md Add a note in PORTING to ask us before adding ifdefs. 2016-08-11 15:48:14 +00:00
README.md Add an API-CONVENTIONS.md document. 2016-08-04 23:27:49 +00:00
STYLE.md Clarify CBS/CBB with respect to high tag number form. 2016-08-26 17:48:48 +00:00

BoringSSL

BoringSSL is a fork of OpenSSL that is designed to meet Google's needs.

Although BoringSSL is an open source project, it is not intended for general use, as OpenSSL is. We don't recommend that third parties depend upon it. Doing so is likely to be frustrating because there are no guarantees of API or ABI stability.

Programs ship their own copies of BoringSSL when they use it and we update everything as needed when deciding to make API changes. This allows us to mostly avoid compromises in the name of compatibility. It works for us, but it may not work for you.

BoringSSL arose because Google used OpenSSL for many years in various ways and, over time, built up a large number of patches that were maintained while tracking upstream OpenSSL. As Google's product portfolio became more complex, more copies of OpenSSL sprung up and the effort involved in maintaining all these patches in multiple places was growing steadily.

Currently BoringSSL is the SSL library in Chrome/Chromium, Android (but it's not part of the NDK) and a number of other apps/programs.

There are other files in this directory which might be helpful: