Henrik Boström da3a1da9b1 RTCCertificateGenerator added.
This is a new way of generating RTCCertificate objects that is meant
to replace DtlsIdentityStoreInterface and all of its implementations
(clean up work).
It is similar to the identity store in that it generates on the worker
thread and does callback on the signaling thread, but:
- It does not generate identities in the background that you did not
  ask for (preemptive generation made more sense before certificates
  were parameterized, not so much anymore, and ECDSA which will be most
  common takes like <=2 ms to generate).
- As such this code is less complicated than the store's code.
- The API is different, it takes Optional<uint64_t> expires and it
  returns RTCCertificates, not SSLIdentities.
- It supports a blocking version of GenerateCertificate that can be
  called from any thread, necessary for Chrome which can generate
  certificates before the signaling/worker threads have been
  initialized as WebRTC-threads (Chrome can invoke this version on
  the worker thread outside of WebRTC).

This CL does not remove the identity store, only adds the alternative.
Follow-up CLs will start using it, the store will be removed once it
is no longer used anywhere.

BUG=webrtc:5707, webrtc:5708
R=hta@webrtc.org, torbjorng@webrtc.org

Review URL: https://codereview.webrtc.org/1883813002 .

Cr-Commit-Position: refs/heads/master@{#12381}
2016-04-15 15:55:30 +00:00
..
2016-04-01 00:14:09 +00:00
2016-04-15 15:55:30 +00:00
2016-04-15 15:55:30 +00:00
2015-09-24 13:07:04 +00:00
2015-09-24 13:07:04 +00:00
2016-04-15 15:55:30 +00:00
2015-04-02 10:31:00 +00:00
2015-06-10 18:33:24 +00:00
2015-12-17 02:38:34 +00:00
2015-12-28 22:07:05 +00:00
2015-12-28 22:07:05 +00:00
2015-05-21 11:50:41 +00:00
2015-05-21 11:50:41 +00:00
2015-12-28 22:07:05 +00:00
2015-04-01 22:25:29 +00:00
2016-01-04 21:44:16 +00:00
2015-12-16 19:44:39 +00:00
2015-11-26 16:45:57 +00:00
2016-01-04 21:44:16 +00:00
2016-02-02 16:34:16 +00:00
2015-11-26 16:45:57 +00:00
2015-11-26 16:45:57 +00:00
2015-09-22 18:58:13 +00:00
2016-01-04 21:44:16 +00:00
2016-03-24 08:51:59 +00:00
2016-01-04 21:44:16 +00:00
2016-01-14 19:01:25 +00:00