summaryrefslogtreecommitdiffstats
path: root/crypto
Commit message (Collapse)AuthorAgeFilesLines
* Add ECPrivateKey for Elliptic Curve keypair generation.mattm@chromium.org2011-11-098-0/+773
| | | | | | | | | | | | | The implementation uses NSS on all platforms unless USE_OPENSSL is defined (which is only stubbed out in this CL). BUG=88782 TEST=ECPrivateKeyUnitTest Review URL: http://codereview.chromium.org/8413024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109188 0039d316-1c4b-4281-b951-d872f2087c98
* Revert revert 108866 - crypto: add simple P224 implementation.agl@chromium.org2011-11-074-0/+1520
| | | | | | (Landed in r108866, reverted in r108869 due to shared library build issues.) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108903 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 108866 - crypto: add simple P224 implementation.jkummerow@chromium.org2011-11-074-1519/+0
| | | | | | | | | | | | | | | This is intended to be the underlying group for an EKE implementation for Remoting. BUG=none TEST=crypto_unittests Review URL: http://codereview.chromium.org/8431007 TBR=agl@chromium.org Review URL: http://codereview.chromium.org/8467016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108869 0039d316-1c4b-4281-b951-d872f2087c98
* crypto: add simple P224 implementation.agl@chromium.org2011-11-074-0/+1519
| | | | | | | | | | | | This is intended to be the underlying group for an EKE implementation for Remoting. BUG=none TEST=crypto_unittests Review URL: http://codereview.chromium.org/8431007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108866 0039d316-1c4b-4281-b951-d872f2087c98
* This change implements certificate import from ONC file.gspencer@chromium.org2011-11-031-1/+1
| | | | | | | | | | | | | | | | | | It will import any certificates in an ONC file into the certificate database. It does not yet associate the given GUID for the certificate with the certificate added to the database. That will happen in an upcoming CL. This also adds test cases for importing each type of certificate. BUG=chromium-os:19404,chromium-os:19406 TEST=Ran new unit test cases. Imported ONC file with a certificate and saw that it appeared in the certificate manager. Review URL: http://codereview.chromium.org/8403007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108551 0039d316-1c4b-4281-b951-d872f2087c98
* Implement UseLocalCacheOfNSSDatabaseIfNFS() for OpenBSD.robert.nagy@gmail.com2011-10-251-3/+11
| | | | | | | | | | R=wtc@chromium.org BUG=none TEST=none Review URL: http://codereview.chromium.org/8396003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107173 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed slot selection in HMAC class to ensure that we are using softtoken ↵zelidrag@chromium.org2011-10-231-3/+0
| | | | | | | | | | | instead of TPM slots. BUG=chromium-os:21633 TEST=make sure that user signin works properly on Alex - we should not show Gaia signin screen on second login after system resote Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=106881 Review URL: http://codereview.chromium.org/8373022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106882 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed slot selection in HMAC class to ensure that we are using softtoken ↵zelidrag@chromium.org2011-10-231-1/+4
| | | | | | | | | | instead of TPM slots. BUG=chromium-os:21633 TEST=make sure that user signin works properly on Alex - we should not show Gaia signin screen on second login after system resote Review URL: http://codereview.chromium.org/8373022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106881 0039d316-1c4b-4281-b951-d872f2087c98
* OpenBSD patches for net, split from CR #8275005robert.nagy@gmail.com2011-10-201-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | net/base/host_resolver_proc.cc: - define AI_ADDRCONFIG as 0 net/base/listen_socket.cc: - Shuffle and add missing headers since the order of including these matters. net/base/net_util.h: - Missing header for all POSIX platforms. Needed on OpenBSD and it won't hurt others. net/dns/dns_config_service_posix.h: - Missing header for OpenBSD. The order matters here too net/dns/dns_config_service_posix.cc: - Use res_init() on OpenBSD and disable RES_ROTATE if it is not defined net/net.gyp: - Do not use libresolv on OpenBSD since it's not there, the resolver is in libc. - Include base/platform_mime_util_linux.cc in the OpenBSD builds. BUG= TEST= Review URL: http://codereview.chromium.org/8336024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106604 0039d316-1c4b-4281-b951-d872f2087c98
* This reinstates a change of gauravsh's that I revertedgspencer@chromium.org2011-10-191-3/+0
| | | | | | | | | | | | | | | | | | because we thought it might be the cause of crashes when getting SPDY certs. http://crosbug.com/21693 We've tested that, and it doesn't appear to be the cause. So, I'm resubmitting the code from review 8212003 TBR=gauravsh@chromium.org BUG=chromium-os:21693, chromium-os:20933 TEST=Built with and without change, and tested SPDY proxy setup on an alex. Review URL: http://codereview.chromium.org/8349020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106225 0039d316-1c4b-4281-b951-d872f2087c98
* Use NSS to generate Origin-Bound Certs on Win and Mac.mattm@chromium.org2011-10-181-0/+7
| | | | | | | | | | | | The platform RSAPrivateKey is used to generate the private key, which is then imported into NSS to generate the certificate. X509Certificate::CreateOriginBound is moved to x509_util::CreateOriginBoundCert so it can be shared by those platforms, and removes the unnecessary X509Certificate generation step. BUG=88782 TEST=X509UtilNSSTest.CreateOriginBoundCert & manual testing: try on win or mac, check if generated cert has the OBC extension. Review URL: http://codereview.chromium.org/8296014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105997 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 105136 - [chromiumos] Start TPM token initialization re-tries on logingspencer@chromium.org2011-10-141-0/+3
| | | | | | | | | | | | | ** Because of crash bug http://crosbug.com/21693, I'm going to revert this until gaurav or I can take a look ** Original Review URL: http://codereview.chromium.org/8212003 BUG=chromium-os:20933,chromium-os:21693 TBR=gauravsh@chromium.org Review URL: http://codereview.chromium.org/8289019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105599 0039d316-1c4b-4281-b951-d872f2087c98
* [chromiumos] Start TPM token initialization re-tries on logingauravsh@chromium.org2011-10-121-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current TPM token setup logic attempts initialization once after the user logs in. Asynchronous attempts for TPM token setup are not triggered unless the user opens the VPN or WiFi config panel (attempt retries are triggered via a call to CertLibraryImpl::RequestCertificates()). This means that if the first attempt fails and the user never opens up the WiFi config or VPN config panel, the TPM token will stay uninitialized. This breaks the certificate manager (list of certs is empty), the SPDY proxy extension, amongst other things. Essentially, any part of the network subsystem that depends on the private hardware NSS slot (via crypto::GetPrivateNSSKeySlot) stays broken if the first attempt fails. (So, this is not just an issue with the list of certs not being displayed correctly). This CL changes that so that retry logic for TPM token init is triggered right after the user logs in. BUG=chromium-os:20933 TEST=Log in, verify from logs that TPM initialization attempts start immediately after. Verify that the missing certificates issue no longer happens. Change-Id: I9c609bdb198a88db8ceb2019cc92c19d1983bc05 Review URL: http://codereview.chromium.org/8212003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105136 0039d316-1c4b-4281-b951-d872f2087c98
* Make constant-time comparison operators for cryptographic uses public.palmer@chromium.org2011-10-074-21/+54
| | | | | | Review URL: http://codereview.chromium.org/8124011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104502 0039d316-1c4b-4281-b951-d872f2087c98
* Fix library paths for preloading NSS on Ubuntu 11.10.lambroslambrou@chromium.org2011-10-071-2/+12
| | | | | | | | | | BUG=99053,91962 TEST=Manual Review URL: http://codereview.chromium.org/8143012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104421 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
* Update SHA1_LENGTH -> kSHA1Length to match previous change to SHA256_LENGTH.pkasting@chromium.org2011-09-281-1/+1
| | | | | | | | | | (I didn't try and understand or fix why kSHA1Length is in base:: while kSHA256Length is in crypto::.) BUG=92247 TEST=compiles Review URL: http://codereview.chromium.org/7972024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103179 0039d316-1c4b-4281-b951-d872f2087c98
* Convert SHA256_LENGTH from a constant-in-anonymous-enum to a static const. ↵pkasting@chromium.org2011-09-224-14/+12
| | | | | | | | | | | | | | This defines the constant where it's declared to preserve the existing readability. Normally this makes things like DCHECK_EQ() unhappy, but when I'd originally tested this I didn't seem to need to make any changes due to that. Will be watching the trybots... The original motiviation for this change was to find a way to eliminate some cases of passing anonymous-typed values as template arguments (which happens when you use a value from the enum in e.g. EXPECT_EQ()), which is technically illegal in C++03, though we don't warn about it. Simply naming the enum would have done this, but in general naming enums used to declare constants like this is bizarre ("enum Constants { ... }"?). BUG=92247 TEST=Compiles Review URL: http://codereview.chromium.org/7823004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102369 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
* Changed OAuth token+secret encryption to use supplemental user key from NSS DB.zelidrag@chromium.org2011-09-074-0/+72
| | | | | | | | BUG=chromium-os:18633 TEST=none Review URL: http://codereview.chromium.org/7756025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99912 0039d316-1c4b-4281-b951-d872f2087c98
* Remove a static initializer from ScopedCAPIHandlersleevi@chromium.org2011-08-311-6/+3
| | | | | | | | | | BUG=87171 TEST=none Review URL: http://codereview.chromium.org/7776025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98923 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: base/scoped_ptr.h -> base/memory/scoped_ptr.h. (part 4)thestig@chromium.org2011-08-182-3/+3
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/7670016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97286 0039d316-1c4b-4281-b951-d872f2087c98
* Remove Purify and Quantify.Doing so will reduce substantially the size of ↵jeanluc@chromium.org2011-08-171-9/+0
| | | | | | | | | the project files. BUG=92102 Review URL: http://codereview.chromium.org/7528010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97156 0039d316-1c4b-4281-b951-d872f2087c98
* Rename CRYPTO_API to CRYPTO_EXPORT.darin@chromium.org2011-08-0516-63/+64
| | | | | | | R=rvargas@chromium.org Review URL: http://codereview.chromium.org/7491061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95652 0039d316-1c4b-4281-b951-d872f2087c98
* Add WARN_UNUSED_RESULT to crypto/hmac.hrsleevi@chromium.org2011-07-302-6/+14
| | | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/7522014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94826 0039d316-1c4b-4281-b951-d872f2087c98
* Add a routine for truncated HMAC verificationrsleevi@chromium.org2011-07-293-5/+25
| | | | | | | | | | BUG=none TEST=crypto_unittests --gtest_filter=HMACTest.* Review URL: http://codereview.chromium.org/7532020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94794 0039d316-1c4b-4281-b951-d872f2087c98
* mac: Components build for cryptothakis@chromium.org2011-07-292-6/+9
| | | | | | | | | BUG=90078 TEST=none Review URL: http://codereview.chromium.org/7532023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94621 0039d316-1c4b-4281-b951-d872f2087c98
* Define FOO_IMPLEMENTATION unconditionally. Even though they only matter whendarin@chromium.org2011-07-201-5/+3
| | | | | | | | | | building component DLLs, it doesn't hurt to always define them, and it makes the GYP files a bit simpler. R=rvargas@chromium.org Review URL: http://codereview.chromium.org/7457016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93226 0039d316-1c4b-4281-b951-d872f2087c98
* Fix linux redux buildjoth@chromium.org2011-07-201-5/+5
| | | | | | | | | | | | Follow up to http://codereview.chromium.org/7342047/ stl_util.h seems out of favor, so calling stl method directly as required. BUG=None TEST=Greeness on http://build.chromium.org/p/chromium.fyi/builders/Chromium%20Linux%20Redux/ Review URL: http://codereview.chromium.org/7457021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93181 0039d316-1c4b-4281-b951-d872f2087c98
* some cleanup for base/stl_utildilmah@chromium.org2011-07-195-6/+6
| | | | | | | | | | | | | removed unused/irrelevant functions removed irrelevant comments Moved stl_util-inl.h => stl_util.h BUG=None TEST=None Review URL: http://codereview.chromium.org/7342047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93110 0039d316-1c4b-4281-b951-d872f2087c98
* Add a Verify routine for HMACrsleevi@chromium.org2011-07-183-27/+101
| | | | | | | | | | BUG=none TEST=crypto_unittests Review URL: http://codereview.chromium.org/7277024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92824 0039d316-1c4b-4281-b951-d872f2087c98
* Add COMPONENT_BUILD global define. darin@chromium.org2011-07-132-8/+2
| | | | | | | | | | | | | | | | | | | | | This avoids the need to define FOO_DLL macros for each project that we wish to optionally build as a DLL (when component=="shared_library"). This in turn means that we do not need direct_dependent_settings to define FOO_DLL, and that means that we don't need to update projects to convert transitive dependencies into explicit dependencies. This makes the component build more consistent with the static build. An alternative would be to use all_dependent_settings, but I feel that the global approach is simpler as it creates less repetition in each target definition for components. A side-effect of this change is that I needed to make base_nacl_win64 be a shared_library in the component build. R=rvargas,bradnelson,evan Review URL: http://codereview.chromium.org/7344022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92409 0039d316-1c4b-4281-b951-d872f2087c98
* Export some functions to fix component build for chromeos.sadrul@chromium.org2011-07-131-7/+7
| | | | | | | | | BUG=none TEST=component build works for chromeos Review URL: http://codereview.chromium.org/7342033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92408 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Add COMPONENT_BUILD global define. "yurys@chromium.org2011-07-132-2/+8
| | | | | | | | | | | | | The change broke compilation on Linux Builder (dbg)(shared): http://build.chromium.org/p/chromium/builders/Linux%20Builder%20%28dbg%29%28shared%29/builds/3365/steps/compile/logs/stdio TBR=darin BUG=None TEST=None Review URL: http://codereview.chromium.org/7352014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92329 0039d316-1c4b-4281-b951-d872f2087c98
* Add COMPONENT_BUILD global define. darin@chromium.org2011-07-132-8/+2
| | | | | | | | | | | | | | | | | | | | | | This avoids the need to define FOO_DLL macros for each project that we wish to optionally build as a DLL (when component=="shared_library"). This in turn means that we do not need direct_dependent_settings to define FOO_DLL, and that means that we don't need to update projects to convert transitive dependencies into explicit dependencies. This makes the component build more consistent with the static build. An alternative would be to use all_dependent_settings, but I feel that the global approach is simpler as it creates less repetition in each target definition for components. A side-effect of this change is that I needed to make base_nacl_win64 be a shared_library in the component build. R=rvargas,bradnelson Review URL: http://codereview.chromium.org/7344022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92325 0039d316-1c4b-4281-b951-d872f2087c98
* crypto: enable components build for Linuxevan@chromium.org2011-07-123-14/+13
| | | | | | | | | | Expose some more API via CRYPTO_API and refactor gyp file. (Reland of r92188.) Review URL: http://codereview.chromium.org/7336009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92212 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "crypto: enable components build for Linux"evan@chromium.org2011-07-123-13/+14
| | | | | | This reverts commit r92188, link failures in skia (!). git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92206 0039d316-1c4b-4281-b951-d872f2087c98
* crypto: enable components build for Linuxevan@chromium.org2011-07-123-14/+13
| | | | | | | | Expose some more API via CRYPTO_API and refactor gyp file. Review URL: http://codereview.chromium.org/7336009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92188 0039d316-1c4b-4281-b951-d872f2087c98
* Protect against NULL delegate in NSSInit.stevenjb@google.com2011-07-081-5/+12
| | | | | | | | | | | This is a fix for http://codereview.chromium.org/7244012 when running from the command line when the tpm delegate is not initialized. BUG=chromium-os:15829 TEST=Run chrome for ChromeOS from the command line and open Network Menu > Other Wi-Fi network > Advanced. Chrome should not crash. Review URL: http://codereview.chromium.org/7330007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91901 0039d316-1c4b-4281-b951-d872f2087c98
* Eliminate an extra allocation in encryptor_win when en/decrypting.rsleevi@chromium.org2011-07-081-16/+23
| | | | | | | | | | | R=wtc BUG=none TEST=crypto_unittests Review URL: http://codereview.chromium.org/7272022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91803 0039d316-1c4b-4281-b951-d872f2087c98
* Use base::StringPiece for input parameters in Encryptor, rather than std::stringrsleevi@chromium.org2011-07-086-29/+48
| | | | | | | | | | | R=wtc BUG=none TEST=crypto_unittests Review URL: http://codereview.chromium.org/7230037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91800 0039d316-1c4b-4281-b951-d872f2087c98
* crypto: convert OpenPGP code to NSSagl@chromium.org2011-07-073-112/+200
| | | | | | | | | | | | (This is a reland of r91350 which was reverted in r91355 (GYP issue), landed again in r91559 and reverted again in r91561 (Windows shared build issue).) BUG=none TEST=crypto_unittests http://codereview.chromium.org/7273080 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91699 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "crypto: convert OpenPGP code to NSS"agl@chromium.org2011-07-063-191/+111
| | | | | | This reverts commit r91559. Broke the Windows shared build. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91561 0039d316-1c4b-4281-b951-d872f2087c98
* crypto: convert OpenPGP code to NSSagl@chromium.org2011-07-063-111/+191
| | | | | | | | | | | (This is a reland of r91350 which was reverted in r91355.) BUG=none TEST=crypto_unittests Review URL: http://codereview.chromium.org/7273080 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91559 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes for OpenSSLbulach@chromium.org2011-07-051-2/+2
| | | | | | | | | | | | | | | | | A couple of nit fixes following: + http://codereview.chromium.org/7247005 + http://codereview.chromium.org/6990036 + Fixes a typo (ctx / context) + Adds new abstract methods from stream_socket.h BUG= TEST= Review URL: http://codereview.chromium.org/7253038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91498 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "crypto: convert OpenPGP code to NSS"agl@chromium.org2011-07-013-191/+111
| | | | | | This reverts commit r91350. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91355 0039d316-1c4b-4281-b951-d872f2087c98
* crypto: convert OpenPGP code to NSSagl@chromium.org2011-07-013-111/+191
| | | | | | | | | BUG=none TEST=crypto_unittests Review URL: http://codereview.chromium.org/7273080 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91350 0039d316-1c4b-4281-b951-d872f2087c98
* net: Add NET_API to more code to enable buildingrvargas@google.com2011-06-301-3/+6
| | | | | | | | | | | a shared net library on Linux, and update base and crypto API definitions. BUG=76997 TEST=none Review URL: http://codereview.chromium.org/7240021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91234 0039d316-1c4b-4281-b951-d872f2087c98
* Crypto: Build crypto.dll on Windows.rvargas@google.com2011-06-291-11/+24
| | | | | | | | BUG=85776 TEST=none Review URL: http://codereview.chromium.org/7272045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91008 0039d316-1c4b-4281-b951-d872f2087c98
* Use crnss.dll and crnspr.dll with the component build.rvargas@google.com2011-06-281-0/+1
| | | | | | | | BUG=85776 TEST=none Review URL: http://codereview.chromium.org/7273015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90853 0039d316-1c4b-4281-b951-d872f2087c98