Add method in wpa_supplicant to call listAliases.
Bug: 205764502
Test: Manual test - store several aliases
in the certificate store. Call the new
method to verify that the expected aliases
are retrieved when the corresponding
prefix is passed in.
Change-Id: I3ae57f5cce9a4fecb8145abb0ba7bf6542b1f03f
diff --git a/wpa_supplicant/aidl/certificate_utils.cpp b/wpa_supplicant/aidl/certificate_utils.cpp
index 79fe38b..8750cea 100644
--- a/wpa_supplicant/aidl/certificate_utils.cpp
+++ b/wpa_supplicant/aidl/certificate_utils.cpp
@@ -188,6 +188,21 @@
}
}
+std::optional<std::vector<std::string>> listAliases(const std::string& prefix,
+ const std::shared_ptr<INonStandardCertCallback> &non_standard_callback) {
+ if (non_standard_callback == nullptr) {
+ wpa_printf(MSG_ERROR, "Non-standard cert callback is not available");
+ return std::nullopt;
+ }
+ std::vector<std::string> aliases;
+ const auto& status = non_standard_callback->listAliases(prefix, &aliases);
+ if (!status.isOk()) {
+ wpa_printf(MSG_ERROR, "Unable to retrieve aliases");
+ return std::nullopt;
+ }
+ return aliases;
+}
+
} // namespace certificate_utils
} // namespace supplicant
} // namespace wifi
diff --git a/wpa_supplicant/aidl/certificate_utils.h b/wpa_supplicant/aidl/certificate_utils.h
index 09da74b..adbafc8 100644
--- a/wpa_supplicant/aidl/certificate_utils.h
+++ b/wpa_supplicant/aidl/certificate_utils.h
@@ -32,6 +32,8 @@
namespace certificate_utils {
std::optional<std::vector<uint8_t>> getCertificate(const std::string& alias,
const std::shared_ptr<INonStandardCertCallback> &non_standard_callback);
+ std::optional<std::vector<std::string>> listAliases(const std::string& prefix,
+ const std::shared_ptr<INonStandardCertCallback> &non_standard_callback);
} // namespace certificate_utils
} // namespace supplicant
} // namespace wifi