summaryrefslogtreecommitdiffstats
path: root/crypto/openssl_util.h
Commit message (Collapse)AuthorAgeFilesLines
* Eliminate ScopedOpenSSL in favour of scoped_ptr<> specializations.rsleevi@chromium.org2014-07-101-30/+0
| | | | | | | | | | | | | | | | | | | | | | Match the NSS, CryptoAPI (Win) and Security (OS X) approaches by declaring the scoped types as specializations of our existing scoped classes. Like NSS, this requires an intermediate helper type, because our scoped_ptr<> doesn't accept deleter functions as template arguments (though they are valid in C++11's unique_ptr<>). A few base cryptographic (non-certificate) types are used in scoped_openssl_types.h, while the remainder are left for implementations to specialize as needed. In an ideal world, this would be scoped_ptr<FOO, FOO_free>, but that will require unique_ptr<> support. BUG=388904 Review URL: https://codereview.chromium.org/361193003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@282257 0039d316-1c4b-4281-b951-d872f2087c98
* Implement SSL server socket over OpenSSL.byungchul@chromium.org2014-05-171-1/+2
| | | | | | | | | | | | 1) Mixed ssl_server_socket_nss.cc and ssl_client_socket_openssl.cc. 2) Moved common functions into openssl_util.cc. 3) Enabled SslServerSocketTest when USE_OPENSSL is defined. BUG= Review URL: https://codereview.chromium.org/274783002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@271218 0039d316-1c4b-4281-b951-d872f2087c98
* This patch adds some Android-support code to allow the networkdigit@chromium.org2013-02-111-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | stack to use platform-specific private key objects to perform signing in the context of SSL handshakes which require a client certificate. More specifically: - Add net/android/keystore.h, which provides native functions to operate on JNI references pointing to java.security.PrivateKey objects provided by the platform. I.e.: net::android::GetPrivateKeyType() net::android::SignWithPrivateKey() Also provide a function that can get the system's own EVP_PKEY* handle corresponding to a given PrivateKey object. This uses reflection and should *only* be used for RSA private keys when running on Android 4.0 and 4.1, in order to route around a platform bug that was only fixed in 4.2. net::android::GetOpenSSLSytstemHandleForPrivateKey() See the comments in this source file for mode details: net/android/java/org/chromium/net/AndroidKeyStore.java - Add net/android/keystore_openssl.h, which provides a function that can wrap an existing PrivateKey JNI reference around an OpenSSL EVP_PKEY object which uses custom DSA/RSA/ECDSA methods to perform signing as expected to handle client certificates. net::android::GetOpenSSLPrivateKeyWrapper() - Add relevant unit tests for the new functions. Note that the unit test comes with its own Java helper function, which is used to create a platform PrivateKey object from encoded PKCS#8 private key data. This is called from the native unit test, but does not constitute a new Java test (AndroidKeyStoreTestUtil.java). - Add corresponding new test key files under net/data/ssl/certificates/, and their generation script in net/data/ssl/scripts/. - Add net/android/private_key_type_list.h which is used both from C++ and Java to define the list of supported private key types used by this code. - Minor improvements: Add a "release()" method to crypto::ScopedOpenSSL, add missing BASE_EXPORT to one base/android/jni_array.h function declaration. BUG=166642 Review URL: https://chromiumcodereview.appspot.com/11571059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@181741 0039d316-1c4b-4281-b951-d872f2087c98
* First step towards component build for Android.yfriedman@chromium.org2012-11-011-1/+2
| | | | | | | | | | Add symbol exports needed to build content shell. BUG=158821 Review URL: https://codereview.chromium.org/11368031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165420 0039d316-1c4b-4281-b951-d872f2087c98
* Remove #pragma once from cryptoajwong@chromium.org2012-07-111-2/+1
| | | | | | Review URL: https://chromiumcodereview.appspot.com/10695140 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146077 0039d316-1c4b-4281-b951-d872f2087c98
* Fix some grammar in comments, error messages and documentation.gavinp@chromium.org2012-04-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Thanks to all my reviewers, you are legion. I hope I didn't waste too much of your time. BUG=None Review URL: http://codereview.chromium.org/9854039 Review URL: http://codereview.chromium.org/9854043 Review URL: http://codereview.chromium.org/9863058 Review URL: http://codereview.chromium.org/9863059 Review URL: http://codereview.chromium.org/9887005 Review URL: http://codereview.chromium.org/9890002 Review URL: http://codereview.chromium.org/9891002 Review URL: http://codereview.chromium.org/9895003 Review URL: http://codereview.chromium.org/9896002 Review URL: http://codereview.chromium.org/9896003 Review URL: http://codereview.chromium.org/9897002 Review URL: http://codereview.chromium.org/9897003 Review URL: http://codereview.chromium.org/9903004 Review URL: http://codereview.chromium.org/9904003 Review URL: http://codereview.chromium.org/9904002 Review URL: http://codereview.chromium.org/9904004 Review URL: http://codereview.chromium.org/9906002 Review URL: http://codereview.chromium.org/9906001 Review URL: http://codereview.chromium.org/9906003 Review URL: http://codereview.chromium.org/9909001 Review URL: http://codereview.chromium.org/9909002 Review URL: http://codereview.chromium.org/9909003 Review URL: http://codereview.chromium.org/9909004 Review URL: http://codereview.chromium.org/9910001 Review URL: http://codereview.chromium.org/9910002 Review URL: http://codereview.chromium.org/9910010 Review URL: http://codereview.chromium.org/9911001 Review URL: http://codereview.chromium.org/9912001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130359 0039d316-1c4b-4281-b951-d872f2087c98
* OpenSSL component build fixes.mattm@chromium.org2011-10-061-1/+2
| | | | | | | | | | BUG=none TEST=build with component=shared_library use_openssl=1 Review URL: http://codereview.chromium.org/8166003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104342 0039d316-1c4b-4281-b951-d872f2087c98
* Delete Tracked, and move Location to its own file.ajwong@chromium.org2011-09-211-1/+1
| | | | | | | | | | | | | The Birth/Death tracking of tasks has been moved out-of-band into MessageLoop's PendingTask structure. Thus, Task no longer needs to inherit from Tracked. Since Task was the only child of Tracked, delete the Tracked class and move Location to its own file. BUG=none TEST=builds Review URL: http://codereview.chromium.org/7879006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102132 0039d316-1c4b-4281-b951-d872f2087c98
* Move crypto files out of base, to a top level directory.rvargas@google.com2011-04-141-0/+113
src/crypto is now an independent project that contains our cryptographic primitives (except md5 and sha1). This removes the base dependency from nss, openssl and sqlite. BUG=76996 TEST=none Review URL: http://codereview.chromium.org/6805019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81611 0039d316-1c4b-4281-b951-d872f2087c98