Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/boringssl.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-04-18Drop support for engines-provided signature verification.Brian Smith
We do not need to support engine-provided verification methods. Change-Id: Iaad8369d403082b728c831167cc386fdcabfb067 Reviewed-on: https://boringssl-review.googlesource.com/7311 Reviewed-by: David Benjamin <davidben@google.com>
2016-04-01Fix docs typo.David Benjamin
Change-Id: Idb786ee2ca6354dcf2f665e9229aef4a43e05dd4 Reviewed-on: https://boringssl-review.googlesource.com/7614 Reviewed-by: David Benjamin <davidben@google.com>
2016-04-01Decouple crypto/ec from the OID table.David Benjamin
Instead, embed the (very short) encoding of the OID into built_in_curve. BUG=chromium:499653 Change-Id: I0db36f83c71fbd3321831f54fa5022f8304b30cd Reviewed-on: https://boringssl-review.googlesource.com/7564 Reviewed-by: Steven Valdez <svaldez@google.com> Reviewed-by: David Benjamin <davidben@google.com>
2016-02-17Rewrite ECPrivateKey serialization.David Benjamin
Functions which lose object reuse and need auditing: - d2i_ECParameters - d2i_ECPrivateKey This adds a handful of bytestring-based APIs to handle EC key serialization. Deprecate all the old serialization APIs. Notes: - An EC_KEY has additional state that controls its encoding, enc_flags and conv_form. conv_form is left alone, but enc_flags in the new API is an explicit parameter. - d2i_ECPrivateKey interpreted its T** argument unlike nearly every other d2i function. This is an explicit EC_GROUP parameter in the new function. - The new specified curve code is much stricter and should parse enough to uniquely identify the curve. - I've not bothered with a new version of i2d_ECParameters. It just writes an OID. This may change later when decoupling from the giant OID table. - Likewise, I've not bothered with new APIs for the public key since the EC_POINT APIs should suffice. - Previously, d2i_ECPrivateKey would not call EC_KEY_check_key and it was possible for the imported public and private key to mismatch. It now calls it. BUG=499653 Change-Id: I30b4dd2841ae76c56ab0e1808360b2628dee0615 Reviewed-on: https://boringssl-review.googlesource.com/6859 Reviewed-by: Adam Langley <agl@google.com>
2016-01-19Update comments to better document in-place semantics.Adam Langley
(Comment-only change; no functional difference.) Some code was broken by the |d2i_ECDSA_SIG| change in 87897a8c. It was passing in a pointer to an existing |ECDSA_SIG| as the first argument and then simply assuming that the structure would be updated in place. The comments on the function suggested that this was reasonable. This change updates the comments that use similar wording to either note that the function will never update in-place, or else to note that depending on that is a bad idea for the future. I've also audited all the uses of these functions that I can find and, in addition to the one case with |d2i_ECDSA_SIG|, there are several users of |d2i_PrivateKey| that could become a problem in the future. I'll try to fix them before it does become an issue. Change-Id: I769f7b2e0b5308d09ea07dd447e02fc161795071 Reviewed-on: https://boringssl-review.googlesource.com/6902 Reviewed-by: David Benjamin <davidben@chromium.org> Reviewed-by: Adam Langley <agl@google.com>
2015-12-16Remove the CRYPTO_EX_new callback.David Benjamin
This callback is never used. The one caller I've ever seen is in Android code which isn't built with BoringSSL and it was a no-op. It also doesn't actually make much sense. A callback cannot reasonably assume that it sees every, say, SSL_CTX created because the index may be registered after the first SSL_CTX is created. Nor is there any point in an EX_DATA consumer in one file knowing about an SSL_CTX created in completely unrelated code. Replace all the pointers with a typedef to int*. This will ensure code which passes NULL or 0 continues to compile while breaking code which passes an actual function. This simplifies some object creation functions which now needn't worry about CRYPTO_new_ex_data failing. (Also avoids bouncing on the lock, but it's taking a read lock, so this doesn't really matter.) BUG=391192 Change-Id: I02893883c6fa8693682075b7b130aa538a0a1437 Reviewed-on: https://boringssl-review.googlesource.com/6625 Reviewed-by: Adam Langley <agl@google.com>
2015-11-19Remove |EC_GROUP_precompute_mult| and |EC_KEY_precompute_mult|.Brian Smith
Change-Id: I1663ec6046b8f1f67a62e4c6483af719d6f362ad Reviewed-on: https://boringssl-review.googlesource.com/6486 Reviewed-by: Adam Langley <agl@google.com>
2015-11-19Make |EC_GROUP_precompute_mult|/|EC_KEY_precompute_mult| no-ops.Brian Smith
This moves us closer to having |EC_GROUP| and |EC_KEY| being immutable. The functions are left as no-ops for backward compatibility. Change-Id: Ie23921ab0364f0771c03aede37b064804c9f69e0 Reviewed-on: https://boringssl-review.googlesource.com/6485 Reviewed-by: Adam Langley <agl@google.com>
2015-07-20Fix o2i_ECPublicKey documentation.David Benjamin
It's not DER and always parses the entire thing. Change-Id: Idb4b8b93d5bc3689d8c3ea34c38b529e50a4af61 Reviewed-on: https://boringssl-review.googlesource.com/5451 Reviewed-by: Adam Langley <agl@google.com>
2015-06-11Correct various documentation typosKenny Root
Some of the documentation had the right explanation but the incorrect function names attached. Change-Id: I7b479dae6d71a5ac7bc86df5a3890508c3b3d09f Reviewed-on: https://boringssl-review.googlesource.com/5090 Reviewed-by: Adam Langley <agl@google.com>
2015-04-14Compatibility changes for wpa_supplicant and OpenSSH.Adam Langley
OpenSSH, especially, does some terrible things that mean that it needs the EVP_CIPHER structure to be exposed ☹. Damian is open to a better API to replace this, but only if OpenSSL agree too. Either way, it won't be happening soon. Change-Id: I393b7a6af6694d4d2fe9ebcccd40286eff4029bd Reviewed-on: https://boringssl-review.googlesource.com/4330 Reviewed-by: Adam Langley <agl@google.com>
2015-04-11Fix typo.David Benjamin
Change-Id: I4303abae61a7526e039ccb9a321b7b18e0ba35b7 Reviewed-on: https://boringssl-review.googlesource.com/4287 Reviewed-by: Adam Langley <agl@google.com>
2014-08-01Add visibility rules.Adam Langley
This change marks public symbols as dynamically exported. This means that it becomes viable to build a shared library of libcrypto and libssl with -fvisibility=hidden. On Windows, one not only needs to mark functions for export in a component, but also for import when using them from a different component. Because of this we have to build with |BORINGSSL_IMPLEMENTATION| defined when building the code. Other components, when including our headers, won't have that defined and then the |OPENSSL_EXPORT| tag becomes an import tag instead. See the #defines in base.h In the asm code, symbols are now hidden by default and those that need to be exported are wrapped by a C function. In order to support Chromium, a couple of libssl functions were moved to ssl.h from ssl_locl.h: ssl_get_new_session and ssl_update_cache. Change-Id: Ib4b76e2f1983ee066e7806c24721e8626d08a261 Reviewed-on: https://boringssl-review.googlesource.com/1350 Reviewed-by: Adam Langley <agl@google.com>
2014-07-19Introduce EVP_PKEY_is_opaque to replace RSA_METHOD_FLAG_NO_CHECK.David Benjamin
Custom RSA and ECDSA keys may not expose the key material. Plumb and "opaque" bit out of the *_METHOD up to EVP_PKEY. Query that in ssl_rsa.c to skip the sanity checks for certificate and key matching. Change-Id: I362a2d5116bfd1803560dfca1d69a91153e895fc Reviewed-on: https://boringssl-review.googlesource.com/1255 Reviewed-by: Adam Langley <agl@google.com>
2014-07-16Change ECDSA_METHOD's size() to group_order_size()Adam Langley
The |size| method was documented to return the same as |ECDSA_size| - the max size of an ECDSA signature. However, this involves some ASN.1 calculations which is best done once. What custom implementations want to give is the size of the group order on which the ASN.1 computations are based. This change switches the |size| method to allow that. Change-Id: I95b6e0c2b52bfcd0d74850c2c4e9bc01269255e2 Reviewed-on: https://boringssl-review.googlesource.com/1200 Reviewed-by: David Benjamin <davidben@chromium.org> Reviewed-by: Adam Langley <agl@google.com>
2014-07-15Move public headers to include/openssl/Adam Langley
Previously, public headers lived next to the respective code and there were symlinks from include/openssl to them. This doesn't work on Windows. This change moves the headers to live in include/openssl. In cases where some symlinks pointed to the same header, I've added a file that just includes the intended target. These cases are all for backwards-compat. Change-Id: I6e285b74caf621c644b5168a4877db226b07fd92 Reviewed-on: https://boringssl-review.googlesource.com/1180 Reviewed-by: David Benjamin <davidben@chromium.org> Reviewed-by: Adam Langley <agl@google.com>
2014-06-21Inital import.Adam Langley
Initial fork from f2d678e6e89b6508147086610e985d4e8416e867 (1.0.2 beta). (This change contains substantial changes from the original and effectively starts a new history.)