diff --git a/certificate.hpp b/certificate.hpp
index 70ee522..aea3ce6 100644
--- a/certificate.hpp
+++ b/certificate.hpp
@@ -25,6 +25,7 @@
 using CertUploadPath = std::string;
 using InputType = std::string;
 using InstallFunc = std::function<void(const std::string&)>;
+using AppendPrivKeyFunc = std::function<void(const std::string&)>;
 using CertWatchPtr = std::unique_ptr<Watch>;
 using namespace phosphor::logging;
 
@@ -92,19 +93,28 @@
     void install(const std::string& filePath, bool isSkipUnitReload);
 
     /** @brief Load Certificate file into the X509 structre.
-     *  @param[in] fileName - Certificate and key full file path.
+     *  @param[in] filePath - Certificate and key full file path.
      *  @return pointer to the X509 structure.
      */
     X509_Ptr loadCert(const std::string& filePath);
 
+    /** @brief Check and append private key to the certificate file
+     *         If private key is not present in the certificate file append the
+     *         certificate file with private key existing in the system.
+     *  @param[in] filePath - Certificate and key full file path.
+     *  @return void.
+     */
+    void checkAndAppendPrivateKey(const std::string& filePath);
+
     /** @brief Public/Private key compare function.
      *         Comparing private key against certificate public key
      *         from input .pem file.
-     *  @param[in] fileName - Certificate and key full file path.
+     *  @param[in] filePath - Certificate and key full file path.
      *  @return Return true if Key compare is successful,
      *          false if not
      */
     bool compareKeys(const std::string& filePath);
+
     /** @brief systemd unit reload or reset helper function
      *  Reload if the unit supports it and use a restart otherwise.
      *  @param[in] unit - service need to reload.
@@ -129,6 +139,9 @@
     /** @brief Certificate file installation path **/
     CertInstallPath certInstallPath;
 
+    /** @brief Type specific function pointer map for appending private key */
+    std::unordered_map<InputType, AppendPrivKeyFunc> appendKeyMap;
+
     /** @brief Certificate file create/update watch */
     const CertWatchPtr& certWatchPtr;
 };
