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

Issue 1151943005: Ability to specify KeyType (RSA, ECDSA) for SSLIdentity generation in libjingle (Closed)

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

Description

Note: SSLIdentity::Generate is not able to use KeyType until this CL lands: https://webrtc-codereview.appspot.com/51189004/ With this CL, the KeyType for SSLIdentity generation can be specified by the PeerConnectionFactory[Interface]::CreatePeerConnection methods, and the KeyType is passed down the layers to where the generation happens. The KeyType is passed around as follows: PeerConnectionFactory::CreatePeerConnection -> PeerConnection -> WebRtcSession -> WebRtcSessionDescriptionFactory. In WebRtcSessionDescriptionFactory the KeyType is passed to a DtlsIdentityStoreInterface::RequestIdentity which calls SSLIdentity::Generate (todo to pass the KeyType to Generate based on torbjorng@'s CL). This CL also makes big changes to DtlsIdentityStoreInterface and related classes. - DtlsIdentityStore gets an interface, DtlsIdentityStoreInterface, and the implementation is now called DtlsIdentityStoreImpl. - DTLSIdentityServiceInterface is removed. This was an unnecessary layer of complexity - DTLSIdentityService simply called the store. The only useful thing was that the interface allowed for a FakeIdentityService used in unittests (for quick precalculated keys). - Instead, FakeIdentityService becomes FakeDtlsIdentityStoreRSA, implementing DtlsIdentityStoreInterface ("RSA" to clarify that it does not yet support fake-generating other types). - WebRtcSessionDescriptionFactory is no longer responsible for generating an identity in the event of a DTLS store (or previously DTLS service) not being specified. All generation happens through DtlsIdentityStore[Interface/Impl].

Patch Set 1 #

Patch Set 2 : If this still goes green then all generates happen with DtlsIdentityStore #

Patch Set 3 : DtlsIdentityStore[Impl/Interface]: Choose KeyType, major changes. DTLSIdentityService removed. Cert.. renamed to KeyType. #

Patch Set 4 : Fix compile issue on iOS #

Patch Set 5 : Delete dtlsidentityservice.cc/h, rename fakedtlsidentityservice.h to ...store.h, cleanup #

Patch Set 6 : Addressing ASAN, LSAN issues in unittests #

Total comments: 11
Unified diffs Side-by-side diffs Delta from patch set Stats (+479 lines, -573 lines) Patch
M talk/app/webrtc/dtlsidentityservice.h View 1 2 3 4 1 chunk +0 lines, -59 lines 1 comment Download
M talk/app/webrtc/dtlsidentityservice.cc View 1 2 3 4 1 chunk +0 lines, -50 lines 0 comments Download
M talk/app/webrtc/dtlsidentitystore.h View 1 2 3 4 2 chunks +80 lines, -24 lines 2 comments Download
M talk/app/webrtc/dtlsidentitystore.cc View 1 2 3 4 6 chunks +128 lines, -85 lines 2 comments Download
M talk/app/webrtc/dtlsidentitystore_unittest.cc View 1 2 3 4 4 chunks +36 lines, -10 lines 0 comments Download
M talk/app/webrtc/java/jni/peerconnection_jni.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M talk/app/webrtc/objc/RTCPeerConnection.mm View 1 2 3 2 chunks +4 lines, -4 lines 0 comments Download
M talk/app/webrtc/peerconnection.h View 1 2 3 4 4 chunks +5 lines, -10 lines 1 comment Download
M talk/app/webrtc/peerconnection.cc View 1 2 2 chunks +5 lines, -4 lines 0 comments Download
M talk/app/webrtc/peerconnection_unittest.cc View 1 2 3 4 5 3 chunks +9 lines, -8 lines 0 comments Download
M talk/app/webrtc/peerconnectionfactory.h View 1 2 3 chunks +6 lines, -4 lines 0 comments Download
M talk/app/webrtc/peerconnectionfactory.cc View 1 2 3 4 4 chunks +13 lines, -8 lines 0 comments Download
M talk/app/webrtc/peerconnectionfactory_unittest.cc View 1 2 3 4 5 11 chunks +28 lines, -17 lines 0 comments Download
M talk/app/webrtc/peerconnectionfactoryproxy.h View 1 2 1 chunk +5 lines, -3 lines 0 comments Download
M talk/app/webrtc/peerconnectioninterface.h View 1 2 3 4 5 chunks +9 lines, -52 lines 2 comments Download
M talk/app/webrtc/peerconnectioninterface_unittest.cc View 1 2 3 4 5 3 chunks +7 lines, -6 lines 0 comments Download
M talk/app/webrtc/proxy.h View 3 chunks +42 lines, -0 lines 1 comment Download
M talk/app/webrtc/test/fakedtlsidentityservice.h View 1 2 3 4 1 chunk +0 lines, -136 lines 1 comment Download
A + talk/app/webrtc/test/fakedtlsidentitystore.h View 1 2 3 4 4 chunks +26 lines, -31 lines 0 comments Download
M talk/app/webrtc/test/peerconnectiontestwrapper.h View 1 2 3 4 5 2 chunks +2 lines, -0 lines 0 comments Download
M talk/app/webrtc/test/peerconnectiontestwrapper.cc View 1 2 3 4 5 2 chunks +5 lines, -4 lines 0 comments Download
M talk/app/webrtc/webrtcsession.h View 1 2 2 chunks +4 lines, -2 lines 0 comments Download
M talk/app/webrtc/webrtcsession.cc View 1 2 3 chunks +8 lines, -6 lines 0 comments Download
M talk/app/webrtc/webrtcsession_unittest.cc View 1 2 3 4 5 7 chunks +10 lines, -8 lines 0 comments Download
M talk/app/webrtc/webrtcsessiondescriptionfactory.h View 1 2 3 4 5 4 chunks +13 lines, -6 lines 0 comments Download
M talk/app/webrtc/webrtcsessiondescriptionfactory.cc View 1 2 3 4 5 5 chunks +13 lines, -29 lines 0 comments Download
M talk/examples/peerconnection/client/conductor.cc View 1 2 1 chunk +3 lines, -3 lines 0 comments Download
M talk/libjingle.gyp View 1 2 3 4 1 chunk +0 lines, -2 lines 0 comments Download
M talk/libjingle_tests.gyp View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M webrtc/base/sslidentity.h View 1 2 1 chunk +10 lines, -0 lines 1 comment Download
M webrtc/base/sslidentity.cc View 1 2 1 chunk +6 lines, -0 lines 0 comments Download

Messages

Total messages: 5 (3 generated)
hbos
As noted with comments, improvements can be made to DtlsIdentityStoreImpl, but please take a first ...
5 years, 6 months ago (2015-06-12 12:46:55 UTC) #4
hbos
5 years, 6 months ago (2015-06-15 12:39:55 UTC) #5

Powered by Google App Engine
This is Rietveld 408576698