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

Issue 1189583002: Support generation of EC keys using P256 curve and support ECDSA certs. (Closed)

Created:
5 years, 6 months ago by torbjorng (webrtc)
Modified:
5 years, 4 months ago
Reviewers:
juberti1, hbos, tommi
CC:
Andrew MacDonald, niklas.enbom, qiang.lu, tterriberry_mozilla.com, webrtc-reviews_webrtc.org, yujie_mao (webrtc), joachim
Base URL:
https://chromium.googlesource.com/external/webrtc.git@master
Target Ref:
refs/pending/heads/master
Project:
webrtc
Visibility:
Public.

Description

Patch Set 1 #

Total comments: 20

Patch Set 2 : changes for feedback from tommi,juberti #

Patch Set 3 : do ecdsa unit testing #

Patch Set 4 : explicitly enable ECDSA for NSS; tolerate ECDSA and RSA certs in unittest #

Total comments: 25

Patch Set 5 : generalize ssl testing code, misc fixes #

Total comments: 18

Patch Set 6 : address feedback from juberti #

Total comments: 16

Patch Set 7 : address feedback from juberti and hbos #

Patch Set 8 : rebase, glue to hbos's changes #

Unified diffs Side-by-side diffs Delta from patch set Stats (+646 lines, -318 lines) Patch
M talk/app/webrtc/dtlsidentitystore.cc View 1 2 3 4 5 6 7 1 chunk +2 lines, -4 lines 0 comments Download
M talk/app/webrtc/webrtcsession_unittest.cc View 1 2 3 4 5 6 7 1 chunk +2 lines, -1 line 0 comments Download
M talk/session/media/channel_unittest.cc View 1 2 3 4 5 6 7 1 chunk +4 lines, -2 lines 0 comments Download
M webrtc/base/nssidentity.h View 1 2 3 4 5 6 7 3 chunks +17 lines, -4 lines 0 comments Download
M webrtc/base/nssidentity.cc View 1 2 3 4 18 chunks +122 lines, -73 lines 0 comments Download
M webrtc/base/nssstreamadapter.h View 1 2 3 4 5 6 7 1 chunk +2 lines, -1 line 0 comments Download
M webrtc/base/nssstreamadapter.cc View 1 2 3 4 5 4 chunks +31 lines, -13 lines 0 comments Download
M webrtc/base/opensslidentity.h View 1 2 3 4 2 chunks +3 lines, -2 lines 0 comments Download
M webrtc/base/opensslidentity.cc View 1 2 3 4 5 6 7 chunks +41 lines, -23 lines 0 comments Download
M webrtc/base/opensslstreamadapter.h View 1 2 3 4 1 chunk +2 lines, -1 line 0 comments Download
M webrtc/base/opensslstreamadapter.cc View 1 2 3 4 5 2 chunks +42 lines, -12 lines 0 comments Download
M webrtc/base/ssladapter_unittest.cc View 1 2 3 4 4 chunks +56 lines, -19 lines 0 comments Download
M webrtc/base/sslidentity.h View 1 2 3 4 5 6 7 3 chunks +4 lines, -1 line 0 comments Download
M webrtc/base/sslidentity.cc View 1 2 3 4 4 chunks +9 lines, -5 lines 0 comments Download
M webrtc/base/sslidentity_unittest.cc View 1 2 3 4 5 6 4 chunks +172 lines, -61 lines 0 comments Download
M webrtc/base/sslstreamadapter.h View 1 2 3 4 5 1 chunk +3 lines, -1 line 0 comments Download
M webrtc/base/sslstreamadapter.cc View 1 2 3 4 3 chunks +8 lines, -5 lines 0 comments Download
M webrtc/base/sslstreamadapter_unittest.cc View 1 2 3 4 5 26 chunks +98 lines, -62 lines 0 comments Download
M webrtc/p2p/base/dtlstransportchannel_unittest.cc View 1 2 3 4 24 chunks +28 lines, -28 lines 0 comments Download

Messages

Total messages: 26 (2 generated)
torbjorng (webrtc)
On 2015/06/15 14:47:40, torbjorng1 wrote: > mailto:torbjorng@webrtc.org changed reviewers: > + mailto:hbos@webrtc.org, mailto:juberti@webrtc.org, mailto:tommi@webrtc.org Please ...
5 years, 6 months ago (2015-06-15 14:52:11 UTC) #2
tommi
Great stuff. Just a couple of questions but otherwise looks good. https://codereview.webrtc.org/1189583002/diff/1/webrtc/base/nssidentity.cc File webrtc/base/nssidentity.cc (right): ...
5 years, 6 months ago (2015-06-15 21:02:42 UTC) #3
juberti1
On 2015/06/15 at 14:52:11, torbjorng wrote: > On 2015/06/15 14:47:40, torbjorng1 wrote: > > mailto:torbjorng@webrtc.org ...
5 years, 6 months ago (2015-06-16 02:44:31 UTC) #4
juberti1
https://codereview.webrtc.org/1189583002/diff/1/webrtc/base/nssidentity.cc File webrtc/base/nssidentity.cc (right): https://codereview.webrtc.org/1189583002/diff/1/webrtc/base/nssidentity.cc#newcode83 webrtc/base/nssidentity.cc:83: LOG(LS_ERROR) << "Key type requested not understood"; On 2015/06/15 ...
5 years, 6 months ago (2015-06-16 02:45:05 UTC) #5
torbjorng (webrtc)
Issues addressed. https://codereview.webrtc.org/1189583002/diff/1/webrtc/base/nssidentity.cc File webrtc/base/nssidentity.cc (right): https://codereview.webrtc.org/1189583002/diff/1/webrtc/base/nssidentity.cc#newcode228 webrtc/base/nssidentity.cc:228: const SECHashObject* ho; On 2015/06/15 21:02:42, tommi ...
5 years, 6 months ago (2015-06-16 14:11:51 UTC) #6
tommi
https://codereview.webrtc.org/1189583002/diff/1/webrtc/base/nssidentity.cc File webrtc/base/nssidentity.cc (right): https://codereview.webrtc.org/1189583002/diff/1/webrtc/base/nssidentity.cc#newcode83 webrtc/base/nssidentity.cc:83: LOG(LS_ERROR) << "Key type requested not understood"; On 2015/06/16 ...
5 years, 6 months ago (2015-06-16 14:38:01 UTC) #7
torbjorng (webrtc)
Please take another look. The CL now includes changes to the tests for ECDSA. The ...
5 years, 6 months ago (2015-06-23 15:22:00 UTC) #8
juberti1
On 2015/06/23 at 15:22:00, torbjorng wrote: > Please take another look. > > The CL ...
5 years, 6 months ago (2015-06-23 19:54:37 UTC) #9
torbjorng (webrtc)
> I looked but I didn't see any assumptions on SSL2(ancient!). There are some > ...
5 years, 6 months ago (2015-06-24 08:51:19 UTC) #10
torbjorng (webrtc)
Now the tests pass for both RSA and ECDSA keys. We explicitly exercise both in ...
5 years, 6 months ago (2015-06-26 13:41:30 UTC) #11
juberti1
On 2015/06/24 at 08:51:19, torbjorng wrote: > > I looked but I didn't see any ...
5 years, 6 months ago (2015-06-26 19:00:52 UTC) #12
juberti1
Adding jbauch as CC - he did most of the work on making sure the ...
5 years, 6 months ago (2015-06-26 19:16:02 UTC) #13
joachim
In general it would be nice to be able to pass the curve as a ...
5 years, 5 months ago (2015-06-30 20:15:24 UTC) #14
juberti1
On 2015/06/30 at 20:15:24, jbauch wrote: > In general it would be nice to be ...
5 years, 5 months ago (2015-07-01 02:34:08 UTC) #15
torbjorng (webrtc)
This should address all issues brought up. The OpenSSL PFS issue with ECDSA seems to ...
5 years, 5 months ago (2015-07-02 12:35:08 UTC) #16
joachim
On 2015/07/02 12:35:08, torbjorng1 wrote: > A preexisting issue is that we tend to use ...
5 years, 5 months ago (2015-07-02 22:44:01 UTC) #17
juberti1
Overall this looks really good - the use of TEST_P is a good idea. A ...
5 years, 5 months ago (2015-07-03 03:15:19 UTC) #18
torbjorng (webrtc)
Thanks for the feedback! This CL update addresses all the issues brought up. Please take ...
5 years, 5 months ago (2015-07-06 10:11:55 UTC) #19
hbos
lgtm In terms of general code quality. (The crypto stuff is black magic to me ...
5 years, 5 months ago (2015-07-07 13:04:36 UTC) #20
juberti1
lgtm with changes below https://codereview.webrtc.org/1189583002/diff/100001/webrtc/base/sslidentity_unittest.cc File webrtc/base/sslidentity_unittest.cc (right): https://codereview.webrtc.org/1189583002/diff/100001/webrtc/base/sslidentity_unittest.cc#newcode42 webrtc/base/sslidentity_unittest.cc:42: : identity_rsa1_(), These don't need ...
5 years, 5 months ago (2015-07-21 22:54:13 UTC) #21
juberti1
On 2015/07/21 22:54:13, juberti1 wrote: > lgtm with changes below > > https://codereview.webrtc.org/1189583002/diff/100001/webrtc/base/sslidentity_unittest.cc > File ...
5 years, 4 months ago (2015-08-13 20:47:38 UTC) #22
torbjorng (webrtc)
Committed patchset #8 (id:160001) manually as b6d4ec418504fd947c6f96829c73180e9487e203 (presubmit successful).
5 years, 4 months ago (2015-08-17 12:09:17 UTC) #24
torbjorng (webrtc)
https://codereview.webrtc.org/1189583002/diff/100001/webrtc/base/opensslidentity.cc File webrtc/base/opensslidentity.cc (right): https://codereview.webrtc.org/1189583002/diff/100001/webrtc/base/opensslidentity.cc#newcode75 webrtc/base/opensslidentity.cc:75: } On 2015/07/07 13:04:36, hbos wrote: > nit: Assuming ...
5 years, 4 months ago (2015-08-17 12:12:45 UTC) #25
Nico
5 years, 4 months ago (2015-08-17 19:22:30 UTC) #26
Message was sent while issue was closed.
This doesn't build:

FAILED: ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF
obj/third_party/webrtc/base/rtc_base.ssladapter.armv7.o.d
-DV8_DEPRECATION_WARNINGS -DCLD_VERSION=2 -DDISABLE_NACL -DCHROMIUM_BUILD
-DCR_CLANG_REVISION=242792-1 -DUSE_LIBJPEG_TURBO=1 -DENABLE_CONFIGURATION_POLICY
-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE -DDONT_EMBED_BUILD_METADATA
-DFIELDTRIAL_TESTING_ENABLED -DDISABLE_FTP_SUPPORT=1
-DV8_USE_EXTERNAL_STARTUP_DATA -DWEBRTC_RESTRICT_LOGGING -DEXPAT_RELATIVE_PATH
-DWEBRTC_CHROMIUM_BUILD -DLOGGING_INSIDE_WEBRTC -DWEBRTC_POSIX -DWEBRTC_MAC
-DWEBRTC_IOS -DFEATURE_ENABLE_SSL -DLOGGING=1 -DNO_MAIN_THREAD_WRAPPING
-DSSL_USE_NSS -DHAVE_NSS_SSL_H -DSSL_USE_NSS_RNG -DCARBON_DEPRECATED=YES
-DNO_NSPR_10_SUPPORT -DNSPR_STATIC -DNSS_STATIC -DNSS_USE_STATIC_LIBS
-DUSE_UTIL_DIRECTLY -DUSE_LIBPCI=1 -D__STDC_CONSTANT_MACROS
-D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0
-DNS_BLOCK_ASSERTIONS=1 -D_FORTIFY_SOURCE=2 -Igen -I../..
-I../../third_party/webrtc/overrides -I../../third_party
-I../../third_party/third_party/jsoncpp/overrides/include
-I../../third_party/third_party/jsoncpp/source/include
-I../../third_party/boringssl/src/include -I../../net/third_party/nss/ssl
-I../../third_party/nss/nspr/pr/include -I../../third_party/nss/nspr/lib/ds
-I../../third_party/nss/nspr/lib/libc/include
-I../../third_party/nss/nss/lib/base -I../../third_party/nss/nss/lib/certdb
-I../../third_party/nss/nss/lib/certhigh
-I../../third_party/nss/nss/lib/cryptohi -I../../third_party/nss/nss/lib/dev
-I../../third_party/nss/nss/lib/freebl
-I../../third_party/nss/nss/lib/freebl/ecl -I../../third_party/nss/nss/lib/nss
-I../../third_party/nss/nss/lib/pk11wrap -I../../third_party/nss/nss/lib/pkcs7
-I../../third_party/nss/nss/lib/pki -I../../third_party/nss/nss/lib/smime
-I../../third_party/nss/nss/lib/softoken -I../../third_party/nss/nss/lib/util
-I../../third_party/nss/nss/lib/ckfw/builtins -isysroot
/Applications/Xcode6.3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk
-Os -gdwarf-2 -fvisibility=hidden -Werror -Wnewline-eof
-miphoneos-version-min=7.0 -arch armv7 -Wall -Wendif-labels -Wextra
-Wno-unused-parameter -Wno-missing-field-initializers
-Wno-selector-type-mismatch -Wheader-hygiene -Wno-char-subscripts
-Wno-unneeded-internal-declaration -Wno-covered-switch-default
-Wstring-conversion -Wno-c++11-narrowing -Wno-deprecated-register
-Wno-inconsistent-missing-override -Wno-shift-negative-value -std=c++11
-stdlib=libc++ -fno-rtti -fno-exceptions -fvisibility-inlines-hidden
-fno-threadsafe-statics -Xclang -load -Xclang
/b/build/slave/ios_rel_device_ninja/build/src/third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.dylib
-Xclang -add-plugin -Xclang find-bad-constructs -fcolor-diagnostics  -c
../../third_party/webrtc/base/ssladapter.cc -o
obj/third_party/webrtc/base/rtc_base.ssladapter.armv7.o
In file included from ../../third_party/webrtc/base/ssladapter.cc:29:
In file included from ../../third_party/webrtc/base/nssstreamadapter.h:30:
../../third_party/webrtc/base/nssidentity.h:43:28: error: field 'pubkey_' will
be initialized after field 'ssl_kea_type_' [-Werror,-Wreorder]
      : privkey_(privkey), pubkey_(pubkey), ssl_kea_type_(ssl_kea_null) {}
                           ^
../../third_party/webrtc/base/nssidentity.h:47:28: error: field 'pubkey_' will
be initialized after field 'ssl_kea_type_' [-Werror,-Wreorder]
      : privkey_(privkey), pubkey_(pubkey), ssl_kea_type_(ssl_kea_type) {}

Powered by Google App Engine
This is Rietveld 408576698