diff --git a/certs_manager.cpp b/certs_manager.cpp
index 6469f2a..ca6f356 100644
--- a/certs_manager.cpp
+++ b/certs_manager.cpp
@@ -33,17 +33,28 @@
     unitToRestart(std::move(unit)), certInstallPath(std::move(installPath)),
     certParentInstallPath(fs::path(certInstallPath).parent_path())
 {
-    // create parent certificate path if not existing
+    // Create certificate directory if not existing.
+    // Set correct certificate directory permitions.
+    fs::path certDirectory;
     try
     {
-        if (!fs::exists(certParentInstallPath))
+        if (certType == AUTHORITY)
         {
-            fs::create_directories(certParentInstallPath);
+            certDirectory = certInstallPath;
         }
+        else
+        {
+            certDirectory = certParentInstallPath;
+        }
+
+        if (!fs::exists(certDirectory))
+        {
+            fs::create_directories(certDirectory);
+        }
+
         auto permission = fs::perms::owner_read | fs::perms::owner_write |
                           fs::perms::owner_exec;
-        fs::permissions(certParentInstallPath, permission,
-                        fs::perm_options::replace);
+        fs::permissions(certDirectory, permission, fs::perm_options::replace);
     }
     catch (fs::filesystem_error& e)
     {
@@ -567,10 +578,7 @@
 
     if (certType == phosphor::certs::AUTHORITY)
     {
-        // Create directory
-        fs::create_directories(certInstallPath);
-
-        // Check if above created proper path
+        // Check whether install path is a directory.
         if (!fs::is_directory(certInstallPath))
         {
             log<level::ERR>("Certificate installation path exists and it is "
diff --git a/test/certs_manager_test.cpp b/test/certs_manager_test.cpp
index 95f7191..4a3c6a4 100644
--- a/test/certs_manager_test.cpp
+++ b/test/certs_manager_test.cpp
@@ -37,7 +37,8 @@
         {
             throw std::bad_alloc();
         }
-        certDir = dirPtr;
+        certDir = std::string(dirPtr) + "/certs";
+        fs::create_directories(certDir);
 
         createNewCertificate();
     }
@@ -552,7 +553,8 @@
         {
             throw std::bad_alloc();
         }
-        certDir = dirPtr;
+        certDir = std::string(dirPtr) + "/certs";
+        fs::create_directories(certDir);
         certificateFile = "cert.pem";
         keyFile = "key.pem";
         std::string cmd = "openssl req -x509 -sha256 -newkey rsa:2048 ";
