Add VSR 15 and 16 as options in the cxx bindings am: d0d8d70b06

Original change: https://android-review.googlesource.com/c/platform/tools/security/+/2681382

Change-Id: Ifedb65279211cc932b3226f17705b29bb48fcc42
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/remote_provisioning/hwtrust/cxxbridge/hwtrust.cpp b/remote_provisioning/hwtrust/cxxbridge/hwtrust.cpp
index 9fd4e75..7d3ff1c 100644
--- a/remote_provisioning/hwtrust/cxxbridge/hwtrust.cpp
+++ b/remote_provisioning/hwtrust/cxxbridge/hwtrust.cpp
@@ -25,6 +25,12 @@
     case DiceChain::Kind::kVsr14:
       chainKind = rust::DiceChainKind::Vsr14;
       break;
+    case DiceChain::Kind::kVsr15:
+      chainKind = rust::DiceChainKind::Vsr15;
+      break;
+    case DiceChain::Kind::kVsr16:
+      chainKind = rust::DiceChainKind::Vsr16;
+      break;
   }
   auto res = rust::VerifyDiceChain({chain.data(), chain.size()}, chainKind);
   if (!res.error.empty()) {
diff --git a/remote_provisioning/hwtrust/cxxbridge/include/hwtrust/hwtrust.h b/remote_provisioning/hwtrust/cxxbridge/include/hwtrust/hwtrust.h
index 548f10e..c8c8f70 100644
--- a/remote_provisioning/hwtrust/cxxbridge/include/hwtrust/hwtrust.h
+++ b/remote_provisioning/hwtrust/cxxbridge/include/hwtrust/hwtrust.h
@@ -15,6 +15,8 @@
   enum class Kind {
     kVsr13,
     kVsr14,
+    kVsr15,
+    kVsr16,
   };
 
   static android::base::Result<DiceChain> Verify(const std::vector<uint8_t>& chain, DiceChain::Kind kind) noexcept;
diff --git a/remote_provisioning/hwtrust/cxxbridge/lib.rs b/remote_provisioning/hwtrust/cxxbridge/lib.rs
index 3b02632..5f8a33e 100644
--- a/remote_provisioning/hwtrust/cxxbridge/lib.rs
+++ b/remote_provisioning/hwtrust/cxxbridge/lib.rs
@@ -14,6 +14,10 @@
         Vsr13,
         /// The DICE chain specified by VSR 14.
         Vsr14,
+        /// The DICE chain specified by VSR 15.
+        Vsr15,
+        /// The DICE chain specified by VSR 16.
+        Vsr16,
     }
 
     /// The result type used by [`verify_dice_chain()`]. The standard [`Result`] is currently only
@@ -47,6 +51,8 @@
         options: match kind {
             ffi::DiceChainKind::Vsr13 => Options::vsr13(),
             ffi::DiceChainKind::Vsr14 => Options::vsr14(),
+            ffi::DiceChainKind::Vsr15 => Options::vsr15(),
+            ffi::DiceChainKind::Vsr16 => Options::vsr16(),
             _ => {
                 return ffi::VerifyDiceChainResult {
                     error: "invalid chain kind".to_string(),