Implement mls-rs-crypto-traits backed by BoringSSL.

Fix: 302021139
Test: Presubmit
Change-Id: Iaefa21d3fb69f92d735875778f3f96e1878d0876
diff --git a/mls/mls-rs-crypto-boringssl/Android.bp b/mls/mls-rs-crypto-boringssl/Android.bp
new file mode 100644
index 0000000..b363640
--- /dev/null
+++ b/mls/mls-rs-crypto-boringssl/Android.bp
@@ -0,0 +1,55 @@
+// Copyright 2024, The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package {
+    default_applicable_licenses: ["platform_system_security_mls_rs_crypto_boringssl_license"],
+}
+
+// See: http://go/android-license-faq
+license {
+    name: "platform_system_security_mls_rs_crypto_boringssl_license",
+    visibility: [":__subpackages__"],
+    license_kinds: [
+        "SPDX-license-identifier-Apache-2.0",
+    ],
+    license_text: [
+        "LICENSE-apache",
+    ],
+}
+
+rust_library {
+    name: "libmls_rs_crypto_boringssl",
+    host_supported: true,
+    crate_name: "mls_rs_crypto_boringssl",
+    srcs: ["src/lib.rs"],
+    cfgs: ["mls_build_async"],
+    rustlibs: [
+        "libbssl_crypto",
+        "libmls_rs_codec",
+        "libmls_rs_core",
+        "libmls_rs_crypto_traits",
+        "libthiserror",
+        "libzeroize",
+    ],
+    proc_macros: [
+        "libasync_trait",
+        "libmaybe_async",
+    ],
+    apex_available: [
+        "//apex_available:anyapex",
+        "//apex_available:platform",
+    ],
+    product_available: true,
+    vendor_available: true,
+}