diff --git a/include/event_service_store.hpp b/include/event_service_store.hpp
index f7f03ab..e59a7d8 100644
--- a/include/event_service_store.hpp
+++ b/include/event_service_store.hpp
@@ -15,6 +15,7 @@
     std::string id;
     boost::urls::url destinationUrl;
     std::string protocol;
+    bool verifyCertificate = true;
     std::string retryPolicy;
     std::string customText;
     std::string eventFormatType;
@@ -69,6 +70,15 @@
                 }
                 subvalue->protocol = *value;
             }
+            else if (element.first == "VerifyCertificate")
+            {
+                const bool* value = element.second.get_ptr<const bool*>();
+                if (value == nullptr)
+                {
+                    continue;
+                }
+                subvalue->verifyCertificate = *value;
+            }
             else if (element.first == "DeliveryRetryPolicy")
             {
                 const std::string* value =
diff --git a/include/persistent_data.hpp b/include/persistent_data.hpp
index 8ef3a6e..0f14143 100644
--- a/include/persistent_data.hpp
+++ b/include/persistent_data.hpp
@@ -301,6 +301,7 @@
             subscription["SubscriptionType"] = subValue.subscriptionType;
             subscription["MetricReportDefinitions"] =
                 subValue.metricReportDefinitions;
+            subscription["VerifyCertificate"] = subValue.verifyCertificate;
 
             subscriptions.emplace_back(std::move(subscription));
         }
diff --git a/include/ssl_key_handler.hpp b/include/ssl_key_handler.hpp
index ce1e638..97e9929 100644
--- a/include/ssl_key_handler.hpp
+++ b/include/ssl_key_handler.hpp
@@ -636,7 +636,14 @@
     return std::make_shared<boost::asio::ssl::context>(std::move(sslCtx));
 }
 
-inline std::optional<boost::asio::ssl::context> getSSLClientContext()
+enum class VerifyCertificate
+{
+    Verify,
+    NoVerify
+};
+
+inline std::optional<boost::asio::ssl::context>
+    getSSLClientContext(VerifyCertificate verifyCertificate)
 {
     namespace fs = std::filesystem;
 
@@ -662,8 +669,14 @@
         return std::nullopt;
     }
 
+    int mode = boost::asio::ssl::verify_peer;
+    if (verifyCertificate == VerifyCertificate::NoVerify)
+    {
+        mode = boost::asio::ssl::verify_none;
+    }
+
     // Verify the remote server's certificate
-    sslCtx.set_verify_mode(boost::asio::ssl::verify_peer, ec);
+    sslCtx.set_verify_mode(mode, ec);
     if (ec)
     {
         BMCWEB_LOG_ERROR("SSL context set_verify_mode failed");
