Expose key derivation through a simple interface for use in WebRTC.
This change just wraps the openssl key derivation functions in a simple
interface in a similar way to how we do it for messagedigest.h so we aren't
coupled to openssl in the core implementation.
Bug: webrtc:9917
Change-Id: I8556bd6e38b7da34d93abbe29415c3366f6532ba
Reviewed-on: https://webrtc-review.googlesource.com/c/107981
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25440}
diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn
index 8da6451..e16648a 100644
--- a/rtc_base/BUILD.gn
+++ b/rtc_base/BUILD.gn
@@ -749,6 +749,8 @@
"ipaddress.cc",
"ipaddress.h",
"keep_ref_until_done.h",
+ "key_derivation.cc",
+ "key_derivation.h",
"mdns_responder_interface.h",
"messagedigest.cc",
"messagedigest.h",
@@ -769,6 +771,8 @@
"nullsocketserver.cc",
"nullsocketserver.h",
"openssl.h",
+ "openssl_key_derivation_hkdf.cc",
+ "openssl_key_derivation_hkdf.h",
"openssladapter.cc",
"openssladapter.h",
"opensslcertificate.cc",
@@ -1261,6 +1265,7 @@
}
if (is_posix || is_fuchsia) {
sources += [
+ "openssl_key_derivation_hkdf_unittest.cc",
"openssladapter_unittest.cc",
"opensslsessioncache_unittest.cc",
"opensslutility_unittest.cc",