summaryrefslogtreecommitdiff
path: root/src/components/application_manager
diff options
context:
space:
mode:
authorAKalinich-Luxoft <AKalinich@luxoft.com>2017-12-22 15:30:03 +0200
committerAKalinich-Luxoft <AKalinich@luxoft.com>2018-01-29 09:05:11 +0200
commitdfabf1fa94c897e6ff853a6217f5b6484f6658fd (patch)
treee1c21d57ad585d44fc62b913df5ed87c43202d00 /src/components/application_manager
parentb82fb0657f0964053ad5994831cd28deb78bb97d (diff)
downloadsdl_core-dfabf1fa94c897e6ff853a6217f5b6484f6658fd.tar.gz
Added overriden functions for SecurityManager listeners
Diffstat (limited to 'src/components/application_manager')
-rw-r--r--src/components/application_manager/include/application_manager/application_manager_impl.h30
-rw-r--r--src/components/application_manager/src/application_manager_impl.cc15
2 files changed, 44 insertions, 1 deletions
diff --git a/src/components/application_manager/include/application_manager/application_manager_impl.h b/src/components/application_manager/include/application_manager/application_manager_impl.h
index e91bdf5d59..01503a7794 100644
--- a/src/components/application_manager/include/application_manager/application_manager_impl.h
+++ b/src/components/application_manager/include/application_manager/application_manager_impl.h
@@ -921,15 +921,43 @@ class ApplicationManagerImpl
const connection_handler::CloseSessionReason& close_reason) OVERRIDE;
#ifdef ENABLE_SECURITY
- // Overriden SecurityManagerListener method
+ /**
+ * @brief Notification about protection result
+ * @param connection_key Unique key of session which triggrs handshake
+ * @param result result of connection protection
+ * @return true on success notification handling or false otherwise
+ */
bool OnHandshakeDone(
uint32_t connection_key,
security_manager::SSLContext::HandshakeResult result) OVERRIDE;
+ /**
+ * @brief Notification that certificate update is required.
+ */
void OnCertificateUpdateRequired() OVERRIDE;
+ /**
+ * @brief Get certificate data from policy
+ * @param reference to string where to save certificate data
+ * @return true if listener saved some data to string otherwise false
+ */
+ bool GetPolicyCertificateData(std::string& data) OVERRIDE;
+
+ /**
+ * @brief Get unique handshake context by application id
+ * @param key id of application
+ * @return generated handshake context or empty context if application with
+ * provided id does not exist
+ */
security_manager::SSLContext::HandshakeContext GetHandshakeContext(
uint32_t key) const OVERRIDE;
+
+ /**
+ * @brief Check if application with specified app_id has NAVIGATION HMI type
+ * @param app_id id of application to check
+ * @return true if application is navi otherwise returns false
+ */
+ bool CheckAppIsNavi(const uint32_t app_id) OVERRIDE;
#endif // ENABLE_SECURITY
/**
diff --git a/src/components/application_manager/src/application_manager_impl.cc b/src/components/application_manager/src/application_manager_impl.cc
index eb3313e492..da11a4ac5b 100644
--- a/src/components/application_manager/src/application_manager_impl.cc
+++ b/src/components/application_manager/src/application_manager_impl.cc
@@ -1655,6 +1655,12 @@ void ApplicationManagerImpl::OnCertificateUpdateRequired() {
GetPolicyHandler().OnPTExchangeNeeded();
}
+bool ApplicationManagerImpl::GetPolicyCertificateData(std::string& data) {
+ LOG4CXX_AUTO_TRACE(logger_);
+ data = GetPolicyHandler().RetrieveCertificate();
+ return true;
+}
+
security_manager::SSLContext::HandshakeContext
ApplicationManagerImpl::GetHandshakeContext(uint32_t key) const {
LOG4CXX_AUTO_TRACE(logger_);
@@ -1666,6 +1672,15 @@ ApplicationManagerImpl::GetHandshakeContext(uint32_t key) const {
}
return SSLContext::HandshakeContext();
}
+
+bool ApplicationManagerImpl::CheckAppIsNavi(const uint32_t app_id) {
+ LOG4CXX_AUTO_TRACE(logger_);
+ ApplicationSharedPtr app = application(app_id);
+ if (app) {
+ return app->is_navi();
+ }
+ return false;
+}
#endif // ENABLE_SECURITY
void ApplicationManagerImpl::set_hmi_message_handler(