diff --git a/System/X509/Unix.hs b/System/X509/Unix.hs
--- a/System/X509/Unix.hs
+++ b/System/X509/Unix.hs
@@ -40,13 +40,17 @@
 envPathOverride = "SYSTEM_CERTIFICATE_PATH"
 
 listDirectoryCerts :: FilePath -> IO [FilePath]
-listDirectoryCerts path = (map (path </>) . filter isCert <$> getDirectoryContents path)
+listDirectoryCerts path = (map (path </>) . filter isCert <$> getDirContents)
                       >>= filterM doesFileExist
     where isHashedFile s = length s == 10
                         && isDigit (s !! 9)
                         && (s !! 8) == '.'
                         && all isHexDigit (take 8 s)
           isCert x = (not $ isPrefixOf "." x) && (not $ isHashedFile x)
+
+          getDirContents = E.catch (getDirectoryContents path) emptyPaths
+            where emptyPaths :: E.IOException -> IO [FilePath]
+                  emptyPaths _ = return []
 
 getSystemCertificateStore :: IO CertificateStore
 getSystemCertificateStore = makeCertificateStore . concat <$> (getSystemPath >>= listDirectoryCerts >>= mapM readCertificates)
diff --git a/x509-system.cabal b/x509-system.cabal
--- a/x509-system.cabal
+++ b/x509-system.cabal
@@ -1,5 +1,5 @@
 Name:                x509-system
-Version:             1.4.4
+Version:             1.4.5
 Description:         System X.509 handling
 License:             BSD3
 License-file:        LICENSE
