Test key import in EVPTest a bit more extensively Between the "raw" import and what'll soon be a few parsing entrypoints, we'll have a few different ways to make keys. Rather than importing one key and then checking properties, this function is now meant to describe properties of a key and then: - For each set of properties that is enough to construct a key, construct that key. - For each key that was constructed, check all properties apply to that key. Rather than having ExpectNo* attributes, let's just say that if you omit the raw public/private key, the expectation is that you don't have one. I've also dropped "Expect" on the positive cases because it is now both a property to check and a way to construct the key. We've since added a few properties of keys that aren't curently well-tested, so go test those. This revealed that actually the DSA test vectors were misnamed. The test public key didn't correspond to the test public key and they were of different sizes. I tried to test the EC point format getting but ran into https://crbug.com/441087671, so I'm going to just ignore this for now. Change-Id: I5a0432061e33fcc92f790023ad40019e8eaf27c1 Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/81647 Auto-Submit: David Benjamin <davidben@google.com> Reviewed-by: Adam Langley <agl@google.com> Commit-Queue: David Benjamin <davidben@google.com>
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.
Project links:
To file a security issue, use the Chromium process and mention in the report this is for BoringSSL. You can ignore the parts of the process that are specific to Chromium/Chrome.
There are other files in this directory which might be helpful: