diff --git a/lib/backend.py b/lib/backend.py
index 89c1b2b9db115236250cba3ad3ae92a747ea8bf1..70afa6034901f33b6663cace612f214cde9a9207 100644
--- a/lib/backend.py
+++ b/lib/backend.py
@@ -1227,7 +1227,12 @@ def UploadFile(file_name, data, mode, uid, gid, atime, mtime):
 
 
 def WriteSsconfFiles(values):
-  ssconf.WriteSsconfFiles(values)
+  """Update all ssconf files.
+
+  Wrapper around the SimpleStore.WriteFiles.
+
+  """
+  ssconf.SimpleStore().WriteFiles(values)
 
 
 def _ErrnoOrStr(err):
diff --git a/lib/ssconf.py b/lib/ssconf.py
index 2189382b412a85e7dfb22ccdde3df2ee7aaa266f..5e2ec042938a62531e471e54caf90b2df370d060 100644
--- a/lib/ssconf.py
+++ b/lib/ssconf.py
@@ -171,6 +171,25 @@ class SimpleStore(object):
                                       " '%s'" % str(err))
     return data
 
+  def WriteFiles(self, values):
+    """Writes ssconf files used by external scripts.
+
+    @type values: dict
+    @param values: Dictionary of (name, value)
+
+    """
+    ssconf_lock = utils.FileLock(constants.SSCONF_LOCK_FILE)
+
+    # Get lock while writing files
+    ssconf_lock.Exclusive(blocking=True, timeout=SSCONF_LOCK_TIMEOUT)
+    try:
+      for name, value in values.iteritems():
+        if not value.endswith("\n"):
+          value += "\n"
+        utils.WriteFile(self.KeyToFilename(name), data=value)
+    finally:
+      ssconf_lock.Unlock()
+
   def GetFileList(self):
     """Return the list of all config files.
 
@@ -218,33 +237,6 @@ class SimpleStore(object):
     return nl
 
 
-def _SsconfPath(name):
-  if not RE_VALID_SSCONF_NAME.match(name):
-    raise errors.ParameterError("Invalid ssconf name: %s" % name)
-  return "%s/ssconf_%s" % (constants.DATA_DIR, name)
-
-
-def WriteSsconfFiles(values):
-  """Writes legacy ssconf files to be used by external scripts.
-
-  @type values: dict
-  @param values: Dictionary of (name, value)
-
-  """
-  ssconf_lock = utils.FileLock(constants.SSCONF_LOCK_FILE)
-
-  # Get lock while writing files
-  ssconf_lock.Exclusive(blocking=True, timeout=SSCONF_LOCK_TIMEOUT)
-  try:
-    for name, value in values.iteritems():
-      if not value.endswith("\n"):
-        value += "\n"
-      utils.WriteFile(_SsconfPath(name),
-                      data=value)
-  finally:
-    ssconf_lock.Unlock()
-
-
 def GetMasterAndMyself(ss=None):
   """Get the master node and my own hostname.