From 702f4da4b9f12d8e15ba5a802d86a42017036bb0 Mon Sep 17 00:00:00 2001 From: Benjamin Wright Date: Wed, 18 Jul 2018 10:47:02 -0700 Subject: [PATCH] Adds flag to enable AES_GCM from the Java API. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This changeset allows Java API users to enable or disable AES_GCM from the PeerConnectionFactory. Bug: chromium:713701 Change-Id: I8798e4eeb6907f8e16a646bfb8a20db510f960c8 Reviewed-on: https://webrtc-review.googlesource.com/89260 Commit-Queue: Benjamin Wright Reviewed-by: Sami Kalliomäki Cr-Commit-Position: refs/heads/master@{#24030} --- sdk/android/api/org/webrtc/PeerConnectionFactory.java | 6 ++++++ sdk/android/src/jni/pc/peerconnectionfactory.cc | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/sdk/android/api/org/webrtc/PeerConnectionFactory.java b/sdk/android/api/org/webrtc/PeerConnectionFactory.java index d083de2738..e4e881ff6f 100644 --- a/sdk/android/api/org/webrtc/PeerConnectionFactory.java +++ b/sdk/android/api/org/webrtc/PeerConnectionFactory.java @@ -134,6 +134,7 @@ public class PeerConnectionFactory { public boolean disableEncryption; public boolean disableNetworkMonitor; public boolean enableAes128Sha1_32CryptoCipher; + public boolean enableGcmCryptoSuites; @CalledByNative("Options") int getNetworkIgnoreMask() { @@ -154,6 +155,11 @@ public class PeerConnectionFactory { boolean getEnableAes128Sha1_32CryptoCipher() { return enableAes128Sha1_32CryptoCipher; } + + @CalledByNative("Options") + boolean getEnableGcmCryptoSuites() { + return enableGcmCryptoSuites; + } } public static class Builder { diff --git a/sdk/android/src/jni/pc/peerconnectionfactory.cc b/sdk/android/src/jni/pc/peerconnectionfactory.cc index 5a0e783fe2..889593e1c5 100644 --- a/sdk/android/src/jni/pc/peerconnectionfactory.cc +++ b/sdk/android/src/jni/pc/peerconnectionfactory.cc @@ -54,6 +54,8 @@ JavaToNativePeerConnectionFactoryOptions(JNIEnv* jni, Java_Options_getDisableNetworkMonitor(jni, options); bool enable_aes128_sha1_32_crypto_cipher = Java_Options_getEnableAes128Sha1_32CryptoCipher(jni, options); + bool enable_gcm_crypto_suites = + Java_Options_getEnableGcmCryptoSuites(jni, options); PeerConnectionFactoryInterface::Options native_options; @@ -65,6 +67,8 @@ JavaToNativePeerConnectionFactoryOptions(JNIEnv* jni, native_options.crypto_options.enable_aes128_sha1_32_crypto_cipher = enable_aes128_sha1_32_crypto_cipher; + native_options.crypto_options.enable_gcm_crypto_suites = + enable_gcm_crypto_suites; return native_options; } } // namespace