Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(450)

Issue 698363002: webcrypto: Add ECDSA algorithm (chromium-side) (Closed)

Created:
6 years, 1 month ago by eroman
Modified:
6 years, 1 month ago
Reviewers:
agl, Ryan Sleevi, *davidben
CC:
chromium-reviews, darin-cc_chromium.org, jam, agl
Base URL:
https://chromium.googlesource.com/chromium/src.git@extract_more
Project:
chromium
Visibility:
Public.

Description

webcrypto: Add ECDSA algorithm using BoringSSL (chromium-side) Adds: * EC key generation * EC key import from SPKI/PKCS8 * EC key import from JWK * ECDSA signing * ECDSA verification * Tests BUG=399094 Committed: https://crrev.com/b2ead6df9ea247e5e9a2f97199d2a25b52804f36 Cr-Commit-Position: refs/heads/master@{#304152}

Patch Set 1 #

Patch Set 2 : fix some base64 encodings #

Patch Set 3 : fix more url-unsafe base64 #

Patch Set 4 : fix test in nss #

Patch Set 5 : Add missing functionality for structured clone #

Patch Set 6 : rebase + add another test #

Total comments: 29

Patch Set 7 : Address David's comments #

Total comments: 9

Patch Set 8 : Rebase onto master --> this moves strutured cloning into ec_key_openssl.cc #

Patch Set 9 : switch back to order size rather than degree for r,s #

Patch Set 10 : adress style comments #

Patch Set 11 : Verify length of parsed asn.1 #

Patch Set 12 : adress test comments #

Total comments: 2

Patch Set 13 : change an operationerror --> unexpected error #

Patch Set 14 : Rebase to head (and in the process add a test for trailing bytes on EC SPKI) #

Patch Set 15 : Try to satisfy android compiler silliness #

Patch Set 16 : sigh, more android pedantry #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1654 lines, -22 lines) Patch
M content/child/webcrypto/algorithm_registry.cc View 3 chunks +5 lines, -1 line 0 comments Download
M content/child/webcrypto/jwk.h View 1 1 chunk +2 lines, -0 lines 0 comments Download
M content/child/webcrypto/jwk.cc View 1 2 3 4 5 6 7 1 chunk +2 lines, -1 line 0 comments Download
M content/child/webcrypto/nss/util_nss.cc View 1 chunk +5 lines, -0 lines 0 comments Download
A + content/child/webcrypto/openssl/ec_key_openssl.h View 1 2 3 4 5 6 7 3 chunks +12 lines, -20 lines 0 comments Download
A content/child/webcrypto/openssl/ec_key_openssl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +577 lines, -0 lines 0 comments Download
A content/child/webcrypto/openssl/ecdsa_openssl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +270 lines, -0 lines 0 comments Download
M content/child/webcrypto/platform_crypto.h View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M content/child/webcrypto/status.h View 1 2 3 4 5 6 7 1 chunk +17 lines, -0 lines 0 comments Download
M content/child/webcrypto/status.cc View 1 2 3 4 5 6 7 2 chunks +31 lines, -0 lines 0 comments Download
A content/child/webcrypto/test/ecdsa_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +322 lines, -0 lines 0 comments Download
M content/child/webcrypto/webcrypto_util.h View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download
M content/child/webcrypto/webcrypto_util.cc View 1 2 3 4 5 6 7 1 chunk +7 lines, -0 lines 0 comments Download
M content/content_child.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +2 lines, -0 lines 0 comments Download
M content/content_tests.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -0 lines 0 comments Download
A content/test/data/webcrypto/ec_private_keys.json View 1 2 3 4 5 6 1 chunk +77 lines, -0 lines 0 comments Download
A content/test/data/webcrypto/ecdsa.json View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +318 lines, -0 lines 0 comments Download

Messages

Total messages: 27 (9 generated)
eroman
6 years, 1 month ago (2014-11-04 21:35:42 UTC) #2
Ryan Sleevi
I'm gonna throw David under the bus on this one, and I'll act as secondary. ...
6 years, 1 month ago (2014-11-05 23:31:21 UTC) #5
davidben
https://codereview.chromium.org/698363002/diff/100001/content/child/webcrypto/openssl/ec_key_openssl.cc File content/child/webcrypto/openssl/ec_key_openssl.cc (right): https://codereview.chromium.org/698363002/diff/100001/content/child/webcrypto/openssl/ec_key_openssl.cc#newcode114 content/child/webcrypto/openssl/ec_key_openssl.cc:114: // ones. http://crbug.com/389400 This is for checking id-ecDH and ...
6 years, 1 month ago (2014-11-07 00:17:21 UTC) #6
eroman
https://codereview.chromium.org/698363002/diff/100001/content/child/webcrypto/openssl/ec_key_openssl.cc File content/child/webcrypto/openssl/ec_key_openssl.cc (right): https://codereview.chromium.org/698363002/diff/100001/content/child/webcrypto/openssl/ec_key_openssl.cc#newcode114 content/child/webcrypto/openssl/ec_key_openssl.cc:114: // ones. http://crbug.com/389400 On 2014/11/07 00:17:21, David Benjamin wrote: ...
6 years, 1 month ago (2014-11-08 01:52:57 UTC) #7
davidben
https://codereview.chromium.org/698363002/diff/100001/content/child/webcrypto/openssl/ecdsa_openssl.cc File content/child/webcrypto/openssl/ecdsa_openssl.cc (right): https://codereview.chromium.org/698363002/diff/100001/content/child/webcrypto/openssl/ecdsa_openssl.cc#newcode77 content/child/webcrypto/openssl/ecdsa_openssl.cc:77: if (!ecdsa_sig.get()) On 2014/11/08 01:52:57, eroman wrote: > On ...
6 years, 1 month ago (2014-11-10 20:24:00 UTC) #8
eroman
https://codereview.chromium.org/698363002/diff/100001/content/child/webcrypto/openssl/ecdsa_openssl.cc File content/child/webcrypto/openssl/ecdsa_openssl.cc (right): https://codereview.chromium.org/698363002/diff/100001/content/child/webcrypto/openssl/ecdsa_openssl.cc#newcode77 content/child/webcrypto/openssl/ecdsa_openssl.cc:77: if (!ecdsa_sig.get()) On 2014/11/10 20:23:59, David Benjamin wrote: > ...
6 years, 1 month ago (2014-11-10 20:55:52 UTC) #9
davidben
+agl so he can comment on the ECC math below. https://codereview.chromium.org/698363002/diff/120001/content/child/webcrypto/openssl/ecdsa_openssl.cc File content/child/webcrypto/openssl/ecdsa_openssl.cc (right): https://codereview.chromium.org/698363002/diff/120001/content/child/webcrypto/openssl/ecdsa_openssl.cc#newcode79 ...
6 years, 1 month ago (2014-11-10 21:00:58 UTC) #10
agl
https://codereview.chromium.org/698363002/diff/120001/content/child/webcrypto/openssl/ecdsa_openssl.cc File content/child/webcrypto/openssl/ecdsa_openssl.cc (right): https://codereview.chromium.org/698363002/diff/120001/content/child/webcrypto/openssl/ecdsa_openssl.cc#newcode79 content/child/webcrypto/openssl/ecdsa_openssl.cc:79: Status status = GetEcGroupDegreeInBytes(key, &degree_bytes); On 2014/11/10 21:00:58, David ...
6 years, 1 month ago (2014-11-10 21:42:27 UTC) #12
eroman
https://codereview.chromium.org/698363002/diff/100001/content/child/webcrypto/openssl/ecdsa_openssl.cc File content/child/webcrypto/openssl/ecdsa_openssl.cc (right): https://codereview.chromium.org/698363002/diff/100001/content/child/webcrypto/openssl/ecdsa_openssl.cc#newcode77 content/child/webcrypto/openssl/ecdsa_openssl.cc:77: if (!ecdsa_sig.get()) On 2014/11/10 20:55:52, eroman wrote: > On ...
6 years, 1 month ago (2014-11-10 22:02:59 UTC) #13
davidben
lgtm https://codereview.chromium.org/698363002/diff/220001/content/child/webcrypto/openssl/ecdsa_openssl.cc File content/child/webcrypto/openssl/ecdsa_openssl.cc (right): https://codereview.chromium.org/698363002/diff/220001/content/child/webcrypto/openssl/ecdsa_openssl.cc#newcode75 content/child/webcrypto/openssl/ecdsa_openssl.cc:75: return Status::OperationError(); (It's a little unfortunate that this ...
6 years, 1 month ago (2014-11-11 00:00:57 UTC) #14
eroman
https://codereview.chromium.org/698363002/diff/100001/content/child/webcrypto/test/ecdsa_unittest.cc File content/child/webcrypto/test/ecdsa_unittest.cc (right): https://codereview.chromium.org/698363002/diff/100001/content/child/webcrypto/test/ecdsa_unittest.cc#newcode46 content/child/webcrypto/test/ecdsa_unittest.cc:46: EXPECT_TRUE(false) << "Unrecognized curve name: " << curve_str; On ...
6 years, 1 month ago (2014-11-11 01:26:27 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/698363002/260001
6 years, 1 month ago (2014-11-13 22:56:21 UTC) #17
commit-bot: I haz the power
Try jobs failed on following builders: android_dbg_tests_recipe on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/android_dbg_tests_recipe/builds/28175)
6 years, 1 month ago (2014-11-13 23:18:46 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/698363002/280001
6 years, 1 month ago (2014-11-13 23:27:41 UTC) #21
commit-bot: I haz the power
Try jobs failed on following builders: android_dbg_tests_recipe on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/android_dbg_tests_recipe/builds/28194)
6 years, 1 month ago (2014-11-13 23:56:16 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/698363002/300001
6 years, 1 month ago (2014-11-14 00:17:31 UTC) #25
commit-bot: I haz the power
Committed patchset #16 (id:300001)
6 years, 1 month ago (2014-11-14 02:26:27 UTC) #26
commit-bot: I haz the power
6 years, 1 month ago (2014-11-14 02:27:44 UTC) #27
Message was sent while issue was closed.
Patchset 16 (id:??) landed as
https://crrev.com/b2ead6df9ea247e5e9a2f97199d2a25b52804f36
Cr-Commit-Position: refs/heads/master@{#304152}

Powered by Google App Engine
This is Rietveld 408576698